home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / standards / ansi / X3T9 / area05 / 90-006r0.txt < prev    next >
Encoding:
Internet Message Format  |  1992-05-12  |  187.4 KB

  1. Date:  Dec 28, 1989                             X3T9.2/90-006
  2.  
  3. To:  X3T9.2 Committee (SCSI)
  4. From:  George Penokie (IBM)
  5.  
  6. Subject:  16/32 bit P/L cable stand alone document
  7.  
  8.  
  9. Section 3 Issues
  10.  
  11. -Redefine SCSI address and SCSI ID terms
  12.  
  13.  
  14. Section 4 Issues
  15.  
  16. -Termination of the cable
  17.  
  18.      -The maximum number of devices should be made to be 16 if the
  19.       P cable is used.
  20.  
  21.      -The maximum number of devices should be made to be 32 if the
  22.       L cable is used.
  23.  
  24.      -Disallow B connector devices from connecting to P or L
  25.       type devices.
  26.  
  27. -Add in the L cable changes.
  28.  
  29.      -Make the L cable have the same pin positions for data lines as
  30.       the P cable.
  31.  
  32. Section 5 Issues
  33.  
  34. -Some wording changes in section 5.1.2 ARBITRATION Phase are
  35.  required to indicate there are now 32 devices allowed on the bus.
  36.  
  37. -Some changes in section 5.1.5.3 Wide Data Transfer are required
  38.  to indicate there is another cabling option.
  39.  
  40. -Add in the L cable changes
  41.  
  42. Section 7 Issues
  43.  
  44. -The copy commands segment Descriptor does not have room for a 5
  45.  bit source address and a 5 bit destination address.
  46.  
  47.      -Make a new set of Descriptors to handle a larger number of
  48.       addresses.
  49.  
  50. -Add into the Inquiry data the 16/32 bit addressing information.
  51.  
  52. Section 8, 9, 10, 12, 13, 14, 15, and 16 Issues
  53.  
  54. -The Release command and Reserve command do not have room for a 5
  55.  bit third party device ID
  56.  
  57.      -Make 10 byte commands for both the Release and Reserve
  58.       commands
  59.  Section 3 changes recommended to implement a single 68 pin connector
  60.  
  61.  
  62. 3.1.  Glossary 
  63.  
  64. SCSI address.  The Hexadecimal Representation of the unique
  65. address (0-31) assigned to an SCSI device.  This address would
  66. normally be assigned and set in the SCSI device during system
  67. installation.
  68.  
  69. SCSI ID.  The bit-significant representation of the SCSI address
  70. referring to one of the signal lines DB(31-0).
  71.  
  72. 4. Physical Characteristics
  73.  
  74.   This section contains the physical definition of an alternative
  75. cableing for 16 bit and 32 bit data paths on SCSI-2 devices.  The connectors,
  76. cables, signals, terminators, and bus timing values needed to implement the
  77. interface are covered.
  78.  
  79. 4.1. Physical Description
  80.  
  81.   SCSI devices are daisy-chained together using a common 68-conductor P cable
  82. or a 110-conductor L cable.  Both ends of each cable are terminated.  All
  83. signals are common between all SCSI devices on the P cable and the L cable.
  84. Various width SCSI devices may be mixed.
  85.  
  86.   Physical devices with P cable connectors shall connect the low data byte
  87. (DB0-DB7,P) to the P connector.  The high data byte (DB8-DB15,P1) may be
  88. connected to the P connector.  Physical devices with L cable connectors shall
  89. connect the low data byte (DB0-DB7,P) to the L connector.  The three high data
  90. bytes (DB8-DB15,P1,DB16-DB24,P2,DB25-DB32) may be connected to the L connector.
  91.  
  92.   Two driver/receiver alternatives are specified:
  93.   (1) Single-ended drivers and receivers, which allow a maximum cable length
  94. of six meters (primarily for connection within a cabinet).
  95.   (2) Differential drivers and receivers, which allow a maximum cable length
  96. of 25 meters (primarily for connection outside of a cabinet).
  97.  
  98.   The A/B cable and P/L cable alternatives are mutually exclusive within a
  99. system.  Physical devices with A cable connectors may be attached to P cables
  100. or L cables.  Physical devices with P cable connectors may be attached
  101. to L cables.  Physical devices with B cable connectors shall not be attached
  102. to P or L cables.  Physical devices with P and L cable connectors shall not be
  103. attached to A or A/B cables.
  104.  
  105.   The single-ended and differential alternatives are mutually exclusive within
  106. a system.
  107.  
  108.   IMPLEMENTORS NOTE:  Use of single-ended drivers and receivers with the fast
  109.   synchronous data transfer option is not recommended.
  110.  
  111. 4.2. Cable Requirements  
  112.  
  113.   An ideal impedance match with cable terminators implies a cable
  114. characteristic impedance of 132 ohms (singled-ended option) or 122 ohms
  115. (differential option).  The cable characteristic impedance shall be no less
  116. than 90 ohms and no greater than 140 ohms.  It is recommended that the cable
  117. characteristic impedance be greater than 100 ohms for all cable types.  See
  118. 4.2.3 for cable requirements when implementing the fast synchronous data
  119. transfer option.
  120.  
  121.   A minimum conductor size of 0.08042 square mm (28 AWG) should be used to
  122. minimize noise effects and ensure proper distribution of terminator power.
  123.  
  124.   IMPLEMENTORS NOTES:
  125.   (1) To minimize discontinuities and signal reflections, cables of different
  126.   impedances should not be used in the same bus.  Implementations may require
  127.   trade-offs in shielding effectiveness, cable length, the number of loads,
  128.   transfer rates, and cost to achieve satisfactory system operation.
  129.   (2) To minimize discontinuities due to local impedance variation, a flat
  130.   cable should be spaced at least 1.27 mm (0.050 in) from other cables, any
  131.   other conductor, or the cable itself when the cable is folded.
  132.   (3) Regulatory agencies may require use of larger wire size.
  133.  
  134. 4.2.1. Single-Ended Cable
  135.  
  136.   A 68-conductor flat cable or 34-signal twisted-pair cable shall be used for
  137. the P cable.  A 110-conductor flat cable or 55-signal twisted-pair cable shall
  138. be used for the L cable.  The maximum cumulative cable length shall be 6.0
  139. meters.  If twisted-pair cables are used, then twisted pairs in the cable shall
  140. be wired to physically opposing contacts in the connector.
  141.  
  142.   A stub length of no more than 0.1 meters is allowed off the mainline
  143. interconnection within any connected equipment or from any connected point.
  144.  
  145.   IMPLEMENTORS NOTE:  Stub clustering should be avoided.  Stubs should be
  146.   spaced at least 0.3 meters apart.
  147.  
  148.   SCSI bus termination shall be at each end of the cable and may be internal
  149. to the SCSI devices that are at the ends of the cable.
  150.  
  151. 4.2.2. Differential Cable
  152.  
  153.   A 68-conductor flat cable or 34-signal twisted-pair cable shall be used for
  154. the P cable.  A 110-conductor flat cable or 55-signal twisted-pair cable shall
  155. be used for the L cable.  The maximum cumulative cable length shall be 25
  156. meters.  If twisted-pair cables are used, then twisted pairs in the cable shall
  157. be wired to physically opposing contacts in the connector.
  158.  
  159.   A stub length of no more than 0.2 meters is allowed off the mainline
  160. interconnection within any connected equipment or from any connected point.
  161.  
  162.   SCSI bus termination shall be at each end of the cable and may be internal
  163. to the SCSI devices that are at the ends of the cable.
  164.  
  165.   IMPLEMENTORS NOTE:  The use of twisted pair cable (either twisted-flat or
  166.   discrete wire twisted pairs) is strongly recommended.  Without twisted
  167.   pairs, even at slow data rates and very short distances, crosstalk between
  168.   adjacent signals causes spurious pulses with differential signals.
  169.  
  170. 4.2.3. Cable Requirements for Fast Synchronous Data Transfer
  171.  
  172.   In systems which use the fast synchronous data transfer option (see 4.8),
  173. the P and L cables should meet the conductor size recommendation in 4.2.  The
  174. cable should have an overall shield suitable for termination in a shielded
  175. connector.
  176.  
  177.   In such systems, the cables shall have the following electrical
  178. characteristics:
  179.      Characteristic Impedance:  90 to 132 ohms
  180.      Signal Attenuation:  0.095 dB maximum per meter at 5 MHz
  181.      Pair-to-Pair Propagation Delay Delta:  0.20 ns maximum per meter
  182.      DC Resistance:  0.230 ohms maximum per meter at 20 degrees C
  183.  
  184.  
  185. 4.3. Connector Requirements
  186.  
  187.   Two types of connectors are defined: nonshielded and shielded.  The
  188. nonshielded connectors are typically used for in-cabinet applications.
  189. Shielded connectors are typically used for external applications where
  190. electromagnetic compatibility (EMC) and electrostatic discharge (ESD)
  191. protection may be required.  Either type of connector may be used with the
  192. single-ended or differential drivers.
  193.  
  194. 4.3.1. Nonshielded Connector Requirements
  195.  
  196.   One nonshielded connector is specified for the P and L cables.
  197.  
  198. 4.3.1.1. Nonshielded Connector - P Cable and L Cable 
  199.  
  200.   The nonshielded high-density SCSI device connector for the P (Figure 4-1)
  201. shall be a 68-conductor connector consisting of two rows of 34 female contacts
  202. with adjacent contacts 1.27 mm (0.05 in) apart.  The nonshielded high-density
  203. SCSI device connector for the L (Figure 4-1) shall be a 110-conductor connector
  204. consisting of two rows of 55 female contacts with adjacent contacts 1.27 mm
  205. (0.05 in) apart.  The nonmating portion of the connector is shown for reference
  206. only.
  207.  
  208.   The nonshielded high-density cable connector for the P (Figure 4-2) shall be
  209. a 68-conductor connector consisting of two rows of 34 male contacts with
  210. adjacent contacts 1.27 mm (0.05 in) apart.  The nonshielded high-density cable
  211. connector for the L (Figure 4-2) shall be a 110-conductor connector consisting
  212. of two rows of 55 male contacts with adjacent contacts 1.27 mm (0.05 in) apart.
  213. The nonmating portion of the connector is shown for reference only.
  214.  
  215. 4.3.2. Shielded Connector Requirements
  216.  
  217.   One shielded connector is specified for the P and L cables.  The connector
  218. shielding system should provide a dc resistance of less than 10 milliohms from
  219. the cable shield at its termination point to the SCSI device enclosure.
  220.  
  221.   In order to support daisy-chain connections, SCSI devices that use shielded
  222. connectors should provide two shielded device connectors on the device
  223. enclosure.  These two connectors may be wired "one-to-one" with a stub to the
  224. SCSI device's drivers and receivers provided the maximum stub length is not
  225. violated.  Alternatively, two cables may be run from the two shielded
  226. connectors to the drivers and receivers so that the maximum stub length is not
  227. violated.  The length of the cable within the device enclosure is included
  228. when calculating the total cable length of the SCSI bus.
  229.  
  230. 4.3.2.1. Shielded Connector - P Cable and L Cable
  231.  
  232.   The shielded high-density SCSI device connector for the P (Figure 4-3) is a
  233. 68-conductor connector consisting of two rows of 34 female contacts with
  234. adjacent contacts 1.27 mm (0.05 in) apart.  The shielded high-density SCSI
  235. device connector for the L (Figure 4-3) is a 110-conductor connector consisting
  236. of two rows of 55 female contacts with adjacent contacts 1.27 mm (0.05 in)
  237. apart.  The nonmating portion of the connector is shown for reference only.
  238.  
  239.   The shielded high-density cable connector for the P (Figure 4-4) is a
  240. 68-conductor connector consisting of two rows of 34 male contacts with adjacent
  241. contacts 1.27 mm (0.05 in) apart.  The shielded high-density cable connector
  242. for the L (Figure 4-4) is a 110-conductor connector consisting of two rows of
  243. 55 male contacts with adjacent contacts 1.27 mm (0.05 in) apart.  The nonmating
  244. portion of the connector is shown for reference only.
  245.  
  246.    Figure 4-1: 68/110-Contact Nonshielded High-Density SCSI Device Connector
  247.                               (P Cable/L Cable)
  248.  
  249.       Figure 4-2: 68/110-Contact Nonshielded High-Density Cable Connector
  250.                               (P Cable/L Cable)
  251.  
  252.     Figure 4-3: 68/110-Contact Shielded High-density SCSI Device Connector
  253.                               (P Cable/L Cable)
  254.  
  255.        Figure 4-4: 68/110-Contact Shielded High-density Cable Connector
  256.                               (P Cable/L Cable)
  257.  
  258. 4.3.3. Connector Contact Assignments
  259.  
  260.   The connector contact assignments are defined in Tables 4-1 through 4-5.
  261. Table 4-1 defines which of the other four tables to use and which set of
  262. contact assignments to use.
  263.  
  264.     Table 4-1: Cross-Reference to Connector Contact Assignments
  265.  
  266. ==============================================================================
  267.                               Driver/                        Contact
  268.                              Receiver           Connector  Assignment  Contact
  269.     Connector Type             Type      Cable    Figure      Table      Set
  270. ------------------------------------------------------------------------------
  271. Nonshielded Alternative 1  Single-Ended    P    4-1 & 4-2      4-2
  272. Nonshielded Alternative 1  Single-Ended    L    4-1 & 4-2      4-3
  273. Nonshielded Alternative 1  Differential    P    4-1 & 4-2      4-4
  274. Nonshielded Alternative 1  Differential    L    4-1 & 4-2      4-5
  275.  
  276. Shielded Alternative 1     Single-Ended    P    4-3 & 4-4      4-2
  277. Shielded Alternative 1     Single-Ended    L    4-3 & 4-4      4-3
  278. Shielded Alternative 1     Differential    P    4-3 & 4-4      4-4
  279. Shielded Alternative 1     Differential    L    4-3 & 4-4      4-5
  280. ==============================================================================
  281.  
  282.             Table 4-2: Single-Ended Contact Assignments - P cable
  283.  
  284. ==============================================================================
  285.                     Connector       Cable        Connector
  286.       Signal         Contact      Conductor       Contact        Signal
  287.        Name           Number       Number          Number         Name
  288. ------------------------------------------------------------------------------
  289.       GROUND            1           1 3  2          35           -DB(12)
  290.       GROUND            2           3 3  4          36           -DB(13)
  291.       GROUND            3           5 3  6          37           -DB(14)
  292.       GROUND            4           7 3  8          38           -DB(15)
  293.       GROUND            5           9 3 10          39           -DB(P1)
  294.       GROUND            6          11 3 12          40           -DB(0)
  295.       GROUND            7          13 3 14          41           -DB(1)
  296.       GROUND            8          15 3 16          42           -DB(2)
  297.       GROUND            9          17 3 18          43           -DB(3)
  298.       GROUND           10          19 3 20          44           -DB(4)
  299.       GROUND           11          21 3 22          45           -DB(5)
  300.       GROUND           12          23 3 24          46           -DB(6)
  301.       GROUND           13          25 3 26          47           -DB(7)
  302.       GROUND           14          27 3 28          48           -DB(P)
  303.       GROUND           15          29 3 30          49           GROUND
  304.       GROUND           16          31 3 32          50           GROUND
  305.       TERMPWR          17          33 3 34          51           TERMPWR
  306.       TERMPWR          18          35 3 36          52           TERMPWR
  307.       RESERVED         19          37 3 38          53           RESERVED
  308.       GROUND           20          39 3 40          54           GROUND
  309.       GROUND           21          41 3 42          55           -ATN
  310.       GROUND           22          43 3 44          56           GROUND
  311.       GROUND           23          45 3 46          57           -BSY
  312.       GROUND           24          47 3 48          58           -ACK
  313.       GROUND           25          49 3 50          59           -RST
  314.       GROUND           26          51 3 52          60           -MSG
  315.       GROUND           27          53 3 54          61           -SEL
  316.       GROUND           28          55 3 56          62           -C/D
  317.       GROUND           29          57 3 58          63           -REQ
  318.       GROUND           30          59 3 60          64           -I/O
  319.       GROUND           31          61 3 62          65           -DB(8)
  320.       GROUND           32          63 3 64          66           -DB(9)
  321.       GROUND           33          65 3 66          67           -DB(10)
  322.       GROUND           34          67 3 68          68           -DB(11)
  323. ==============================================================================
  324.  
  325.          NOTES:
  326.            (1) The minus sign next to a signal indicates active low.
  327.            (2) The conductor number refers to the conductor position when
  328.          using 0.025- inch centerline flat ribbon cable.  Other cable types
  329.          may be used to implement equivalent contact assignments.
  330.            (3) 8 bit devices which connected to the P-cable shall leave the
  331.          following signals open:
  332.          -DB(12) -DB(13) -DB(14) -DB(15) -DB(P1) -DB(8) -DB(9) -DB(10) -DB(11)
  333.          All other signals shall be connected as defined.
  334.  
  335.  
  336.             Table 4-3: Single-Ended Contact Assignments - L cable
  337.  
  338. ==============================================================================
  339.                     Connector       Cable        Connector
  340.       Signal         Contact      Conductor       Contact        Signal
  341.        Name           Number       Number          Number         Name
  342. ------------------------------------------------------------------------------
  343.       GROUND            1           1 |  2          56           GROUND
  344.       GROUND            2           3 |  4          57           -DB(24)
  345.       GROUND            3           5 |  6          58           -DB(25)
  346.       GROUND            4           7 |  8          59           -DB(26)
  347.       GROUND            5           9 | 10          60           -DB(27)
  348.       GROUND            6          11 | 12          61           -DB(28)
  349.       GROUND            7          13 | 14          62           -DB(29)
  350.       GROUND            8          15 | 16          63           -DB(30)
  351.       GROUND            9          17 | 18          64           -DB(31)
  352.       GROUND           10          19 | 20          65           -DB(P3)
  353.       GROUND           11          21 | 22          66           -DB(12)
  354.       GROUND           12          23 | 24          67           -DB(13)
  355.       GROUND           13          25 | 26          68           -DB(14)
  356.       GROUND           14          27 | 28          69           -DB(15)
  357.       GROUND           15          29 | 30          70           -DB(P1)
  358.       GROUND           16          31 | 32          71           -DB(0)
  359.       GROUND           17          33 | 34          72           -DB(1)
  360.       GROUND           18          35 | 36          73           -DB(2)
  361.       GROUND           19          37 | 38          74           -DB(3)
  362.       GROUND           20          39 | 40          75           -DB(4)
  363.       GROUND           21          41 | 42          76           -DB(5)
  364.       GROUND           22          43 | 44          77           -DB(6)
  365.       GROUND           23          45 | 46          78           -DB(7)
  366.       GROUND           24          47 | 48          79           -DB(P)
  367.       GROUND           25          49 | 50          80           GROUND
  368.       GROUND           26          51 | 52          81           GROUND
  369.       TERMPWR          27          53 | 54          82           TERMPWR
  370.       TERMPWR          28          55 | 56          83           TERMPWR
  371.       TERMPWR          29          57 | 58          84           TERMPWR
  372.       GROUND           30          59 | 60          85           GROUND
  373.       GROUND           31          61 | 62          86           -ATN
  374.       GROUND           32          63 | 64          87           GROUND
  375.       GROUND           33          65 | 66          88           -BSY
  376.       GROUND           34          67 | 68          89           -ACK
  377.       GROUND           35          69 | 70          90           -RST
  378.       GROUND           36          71 | 72          91           -MSG
  379.       GROUND           37          73 | 74          92           -SEL
  380.       GROUND           38          75 | 76          93           -C/D
  381.       GROUND           39          77 | 78          94           -REQ
  382.       GROUND           40          79 | 70          95           -I/O
  383.       GROUND           41          81 | 82          96           -DB(8)
  384.       GROUND           42          83 | 84          97           -DB(9)
  385.       GROUND           43          85 | 86          98           -DB(10)
  386.       GROUND           44          87 | 88          99           -DB(11)
  387.       GROUND           45          89 | 90          100          GROUND
  388.       GROUND           46          91 | 92          101          -DB(16)
  389.       GROUND           47          93 | 94          102          -DB(17)
  390.       GROUND           48          95 | 96          103          -DB(18)
  391.       GROUND           49          97 | 98          104          -DB(19)
  392.       GROUND           50          99 | 100         105          -DB(20)
  393.       GROUND           51         101 | 102         106          -DB(21)
  394.       GROUND           52         103 | 104         107          -DB(22)
  395.       GROUND           53         105 | 106         108          -DB(23)
  396.       GROUND           54         107 | 108         109          -DB(P2)
  397.       GROUND           55         109 | 110         110          GROUND
  398. ==============================================================================
  399.  
  400.         NOTES:
  401.           (1) The minus sign next to a signal indicates active low.
  402.           (2) The conductor number refers to the conductor position when
  403.         using 0.025- inch centerline flat ribbon cable.  Other cable types
  404.         may be used to implement equivalent contact assignments.
  405.           (3) 8 bit devices which connect to the L-cable shall leave the
  406.         following signals open:
  407.         -DB(12) -DB(13) -DB(14) -DB(15) -DB(P1) -DB(8) -DB(9) -DB(10) -DB(11)
  408.         -DB(20) -DB(21) -DB(22) -DB(23) -DB(P2) -DB(16) -DB(17) -DB(18) -DB(19)
  409.         -DB(28) -DB(29) -DB(30) -DB(31) -DB(P3) -DB(24) -DB(25) -DB(26) -DB(27)
  410.         All other signals shall be connected as defined.
  411.           (4) 16 bit devices which connect to the L-cable shall leave the
  412.         following signals open:
  413.         -DB(20) -DB(21) -DB(22) -DB(23) -DB(P2) -DB(16) -DB(17) -DB(18) -DB(19)
  414.         -DB(28) -DB(29) -DB(30) -DB(31) -DB(P3) -DB(24) -DB(25) -DB(26) -DB(27)
  415.         All other signals shall be connected as defined.
  416.  
  417.             Table 4-4: Differential Contact Assignments - P cable
  418.  
  419. ==============================================================================
  420.                     Connector       Cable        Connector
  421.       Signal         Contact      Conductor       Contact        Signal
  422.        Name           Number       Number          Number         Name
  423. ------------------------------------------------------------------------------
  424.       +DB(12)           1           1 3  2          35           -DB(12)
  425.       +DB(13)           2           3 3  4          36           -DB(13)
  426.       +DB(14)           3           5 3  6          37           -DB(14)
  427.       +DB(15)           4           7 3  8          38           -DB(15)
  428.       +DB(P1)           5           9 3 10          39           -DB(P1)
  429.       GROUND            6          11 3 12          40           GROUND
  430.       +DB(0)            7          13 3 14          41           -DB(0)
  431.       +DB(1)            8          15 3 16          42           -DB(1)
  432.       +DB(2)            9          17 3 18          43           -DB(2)
  433.       +DB(3)           10          19 3 20          44           -DB(3)
  434.       +DB(4)           11          21 3 22          45           -DB(4)
  435.       +DB(5)           12          23 3 24          46           -DB(5)
  436.       +DB(6)           13          25 3 26          47           -DB(6)
  437.       +DB(7)           14          27 3 28          48           -DB(7)
  438.       +DB(P)           15          29 3 30          49           -DB(P)
  439.       DIFFSENS         16          31 3 32          50           GROUND
  440.       TERMPWR          17          33 3 34          51           TERMPWR
  441.       TERMPWR          18          35 3 36          52           TERMPWR
  442.       RESERVED         19          37 3 38          53           RESERVED
  443.       +ATN             20          39 3 40          54           -ATN
  444.       GROUND           21          41 3 42          55           GROUND
  445.       +BSY             22          43 3 44          56           -BSY
  446.       +ACK             23          45 3 46          57           -ACK
  447.       +RST             24          47 3 48          58           -RST
  448.       +MSG             25          49 3 50          59           -MSG
  449.       +SEL             26          51 3 52          60           -SEL
  450.       +C/D             27          53 3 54          61           -C/D
  451.       +REQ             28          55 3 56          62           -REQ
  452.       +I/O             29          57 3 58          63           -I/O
  453.       GROUND           30          59 3 60          64           GROUND
  454.       +DB(8)           31          61 3 62          65           -DB(8)
  455.       +DB(9)           32          63 3 64          66           -DB(9)
  456.       +DB(10)          33          65 3 66          67           -DB(10)
  457.       +DB(11)          34          67 3 68          68           -DB(11)
  458. ==============================================================================
  459.  
  460.          NOTES:
  461.            (1) The conductor number refers to the conductor position
  462.          when using 0.025- inch centerline flat ribbon cable.  Other cable
  463.          types may be used to implement equivalent contact assignments.
  464.            (2) 8 bit devices which connected to the P-cable shall leave the
  465.          following signals open:
  466.          -DB(12) -DB(13) -DB(14) -DB(15) -DB(P1) -DB(8) -DB(9) -DB(10) -DB(11)
  467.          +DB(12) +DB(13) +DB(14) +DB(15) +DB(P1) +DB(8) +DB(9) +DB(10) +DB(11)
  468.          All other signals shall be connected as defined.
  469.  
  470.             Table 4-5: Differential Contact Assignments - L cable
  471.  
  472. ==============================================================================
  473.                     Connector       Cable        Connector
  474.       Signal         Contact      Conductor       Contact        Signal
  475.        Name           Number       Number          Number         Name
  476. ------------------------------------------------------------------------------
  477.       GROUND            1           1 |  2          56           GROUND
  478.       +DB(24)           2           3 |  4          57           -DB(24)
  479.       +DB(25)           3           5 |  6          58           -DB(25)
  480.       +DB(26)           4           7 |  8          59           -DB(26)
  481.       +DB(27)           5           9 | 10          60           -DB(27)
  482.       +DB(28)           6          11 | 12          61           -DB(28)
  483.       +DB(29)           7          13 | 14          62           -DB(29)
  484.       +DB(30)           8          15 | 16          63           -DB(30)
  485.       +DB(31)           9          17 | 18          64           -DB(31)
  486.       +DB(P3)          10          19 | 20          65           -DB(P3)
  487.       +DB(12)          11          21 | 22          66           -DB(12) 
  488.       +DB(13)          12          23 | 24          67           -DB(13) 
  489.       +DB(14)          13          25 | 26          68           -DB(14) 
  490.       +DB(15)          14          27 | 28          69           -DB(15) 
  491.       +DB(P1)          15          29 | 30          70           -DB(P1) 
  492.       GROUND           16          31 | 32          71           GROUND  
  493.       +DB(0)           17          33 | 34          72           -DB(0)  
  494.       +DB(1)           18          35 | 36          73           -DB(1)  
  495.       +DB(2)           19          37 | 38          74           -DB(2)  
  496.       +DB(3)           20          39 | 40          75           -DB(3)  
  497.       +DB(4)           21          41 | 42          76           -DB(4)  
  498.       +DB(5)           22          43 | 44          77           -DB(5)  
  499.       +DB(6)           23          45 | 46          78           -DB(6)  
  500.       +DB(7)           24          47 | 48          79           -DB(7)  
  501.       +DB(P)           25          49 | 50          80           -DB(P)  
  502.       DIFFSENS         26          51 | 52          81           GROUND
  503.       TERMPWR          27          53 | 54          82           TERMPWR 
  504.       TERMPWR          28          55 | 56          83           TERMPWR 
  505.       TERMPWR          29          57 | 58          84           TERMPWR 
  506.       +ATN             30          59 | 60          85           -ATN    
  507.       GROUND           31          61 | 62          86           GROUND  
  508.       +BSY             32          63 | 64          87           -BSY    
  509.       +ACK             33          65 | 66          88           -ACK    
  510.       +RST             34          67 | 68          89           -RST    
  511.       +MSG             35          69 | 70          90           -MSG    
  512.       +SEL             36          71 | 72          91           -SEL    
  513.       +C/D             37          73 | 74          92           -C/D    
  514.       +REQ             38          75 | 76          93           -REQ    
  515.       +I/O             39          77 | 78          94           -I/O    
  516.       GROUND           40          79 | 70          95           GROUND  
  517.       +DB(8)           41          81 | 82          96           -DB(8)  
  518.       +DB(9)           42          83 | 84          97           -DB(9)  
  519.       +DB(10)          43          85 | 86          98           -DB(10) 
  520.       +DB(11)          44          87 | 88          99           -DB(11) 
  521.       GROUND           45          89 | 90          100          GROUND
  522.       +DB(16)          46          91 | 92          101          -DB(16)
  523.       +DB(17)          47          93 | 94          102          -DB(17)
  524.       +DB(18)          48          95 | 96          103          -DB(18)
  525.       +DB(19)          49          97 | 98          104          -DB(19)
  526.       +DB(20)          50          99 | 100         105          -DB(20)
  527.       +DB(21)          51         101 | 102         106          -DB(21)
  528.       +DB(22)          52         103 | 104         107          -DB(22)
  529.       +DB(23)          53         105 | 106         108          -DB(23)
  530.       +DB(P2)          54         107 | 108         109          -DB(P2)
  531.       GROUND           55         109 | 110         110          GROUND
  532. ==============================================================================
  533.  
  534.          NOTES:
  535.            (1) The minus sign next to a signal indicates active low.
  536.            (2) The conductor number refers to the conductor position when
  537.          using 0.025- inch centerline flat ribbon cable.  Other cable types
  538.          may be used to implement equivalent contact assignments.
  539.           (3) 8 bit devices which connect to the L-cable shall leave the
  540.         following signals open:
  541.         -DB(12) -DB(13) -DB(14) -DB(15) -DB(P1) -DB(8) -DB(9) -DB(10) -DB(11)
  542.         +DB(12) +DB(13) +DB(14) +DB(15) +DB(P1) +DB(8) +DB(9) +DB(10) +DB(11)
  543.         -DB(20) -DB(21) -DB(22) -DB(23) -DB(P2) -DB(16) -DB(17) -DB(18) -DB(19)
  544.         +DB(20) +DB(21) +DB(22) +DB(23) +DB(P2) +DB(16) +DB(17) +DB(18) +DB(19)
  545.         -DB(28) -DB(29) -DB(30) -DB(31) -DB(P3) -DB(24) -DB(25) -DB(26) -DB(27)
  546.         +DB(28) +DB(29) +DB(30) +DB(31) +DB(P3) +DB(24) +DB(25) +DB(26) +DB(27)
  547.         All other signals shall be connected as defined.
  548.           (4) 16 bit devices which connect to the L-cable shall leave the
  549.         following signals open:
  550.         -DB(20) -DB(21) -DB(22) -DB(23) -DB(P2) -DB(16) -DB(17) -DB(18) -DB(19)
  551.         +DB(20) +DB(21) +DB(22) +DB(23) +DB(P2) +DB(16) +DB(17) +DB(18) +DB(19)
  552.         -DB(28) -DB(29) -DB(30) -DB(31) -DB(P3) -DB(24) -DB(25) -DB(26) -DB(27)
  553.         +DB(28) +DB(29) +DB(30) +DB(31) +DB(P3) +DB(24) +DB(25) +DB(26) +DB(27)
  554.         All other signals shall be connected as defined.
  555.  
  556. 4.4. Electrical Description
  557.  
  558.   For the measurements in this section, SCSI bus termination is assumed to be
  559. external to the SCSI device.  See 4.4.1 for the terminating requirements for
  560. the RESERVED lines.  SCSI devices may have the provision for allowing optional
  561. internal termination.
  562.  
  563. 4.4.1. Single-Ended Alternative
  564.  
  565.   All signals not defined as RESERVED, GROUND, OPEN, or TERMPWR shall be
  566. terminated at both ends of the cable.  The implementor may choose one of the
  567. following two methods to terminate each end (see Figure 4-5):
  568.  
  569.   (1) The termination of each signal shall consist of 220 ohms (+_5%) to the
  570. TERMPWR line and 330 ohms (+_5%) to ground.  Using resistors with +_1%
  571. tolerance improves noise margins.
  572.   (2) The termination of each signal shall meet these requirements:
  573.      (a) The terminators shall each supply a characteristic impedance between
  574.   100 and 132 ohms.
  575.      (b) The terminators shall be powered by the TERMPWR line and may receive
  576.   additional power from other sources but shall not require such additional
  577.   power for proper operation (see 4.4.3).
  578.      (c) The current available to any signal line driver shall not exceed
  579.   48 milliamps when the driver asserts the line and pulls it to 0.5 volts dc.
  580.   Only 44.8 mA of this current shall be available from the two terminators.
  581.      (d) The voltage on all released signal lines shall be at least 2.5 volts
  582.   dc when the TERMPWR line is within specified values (see 4.4.3).
  583.      (e) These conditions shall be met with any legal configuration of targets
  584.   and initiators as long as at least one device is supplying TERMPWR.
  585.  
  586.   The first termination method above is the same as in SCSI-1.  The second
  587. termination method is recommended for better signal quality.
  588.  
  589. 4.4.1.1. Output Characteristics
  590.   All signals shall use open-collector or three-state drivers.  Each signal
  591. driven by an SCSI device shall have the following output characteristics when
  592. measured at the SCSI device's connector:
  593.   VOL (Low-level output voltage) = 0.0 to 0.5 volts dc at 48 mA sinking
  594.                                    (signal assertion)
  595.   VOH (High-level output voltage) = 2.5 to 5.25 volts dc (signal negation)
  596.  
  597. 4.4.1.2. Input Characteristics
  598.   SCSI devices with power on shall meet the following electrical
  599. characteristics on each signal (including both receivers and passive drivers):
  600.   VIL (Low-level input voltage) = 0.0 to 0.8 volts dc (signal true)
  601.   VIH (High-level input voltage) = 2.0 to 5.25 volts dc (signal false)
  602.   IIL (Low-level input current) = -0.4 to 0.0 mA at VI = 0.5 volts dc
  603.   IIH (High-level input current) = 0.0 to 0.1 mA at VI = 2.7 volts dc
  604.   Minimum input hysteresis = 0.2 volts dc
  605.   Maximum input capacitance = 25 pF (measured at the device connector closest
  606.                               to the stub, if any, within the device)
  607.  
  608.   It is recommended that SCSI devices with power off also meet the above IIL
  609. and IIH electrical characteristics on each signal.
  610.  
  611.   To achieve maximum noise immunity and to assure proper operation with
  612. complex cable configurations, it is recommended that the nominal switching
  613. threshold be approximately 1.4 volts.
  614.  
  615. 4.4.2. Differential Alternative
  616.  
  617.   All signals consist of two lines denoted +SIGNAL and -SIGNAL.  A signal is
  618. true when +SIGNAL is more positive than -SIGNAL, and a signal is false when
  619. -SIGNAL is more positive than +SIGNAL.  All assigned signals of the P and Q
  620. cables described in 4.6 shall be terminated at each end of the cable with a
  621. terminator network as shown in Figure 4-6.  Resistor tolerances in the
  622. terminator network shall be +_5% or less.
  623.  
  624.   The DIFFSENS signal of the connector is used as an active high enable for
  625. the differential drivers.  If a single-ended device or terminator is
  626. inadvertently connected, this signal is grounded, disabling the differential
  627. drivers (see Figure 4-4 and Figure 4-5).
  628.  
  629. 4.4.2.1. Output Characteristics
  630.   Each signal driven by an SCSI device shall have the following output
  631. characteristics when measured at the SCSI device's connector:
  632.   VOL (Low-level output voltage) = 1.7 V maximum at IOL (Low-level output
  633.                                    current) = 55 mA.
  634.   VOH (High-level output voltage) = 2.7 V minimum at IOH (High-level output
  635.                                     current) = -55 mA.
  636.   VOD (Differential output voltage) = 1.0 V minimum with common-mode voltage
  637.                                       ranges from -7 to +12 volts dc.
  638.  
  639.   VOL and VOH shall be as measured between the output terminal and the SCSI
  640. device's logic ground reference.
  641.  
  642.   The output characteristics shall additionally conform to ISO 8482.
  643.  
  644. 4.4.2.2. Input Characteristics
  645.   SCSI devices shall meet the following electrical characteristics on each
  646. signal (including both receivers and passive drivers):
  647.   II (Input current on either input) = +_ 2.0 mA maximum.
  648.   Maximum input capacitance = 25 pF.
  649.  
  650.   The II requirement shall be met with the input voltage varying between -7
  651. and +12 volts dc, with power on or off, and with the hysteresis equaling 35
  652. millivolts, minimum.
  653.  
  654.   The input characteristics shall additionally conform to ISO 8482.
  655.  
  656. 4.4.3. Terminator Power
  657.  
  658.   SCSI initiators shall supply terminator power to the TERMPWR contact(s) This
  659. power shall be supplied through a diode or similar semiconductor that prevents
  660. backflow of power to the SCSI device.  Targets and SCSI devices that become
  661. temporary initiators (e.g., targets which implement the COPY command or
  662. asynchronous event notification) are not required to supply terminator power.
  663. Any SCSI device may supply terminator power.  Interface error rates are lower
  664. if the termination voltage is maintained at the extreme ends of the cable.
  665.  
  666.   All terminators independent of location shall be powered from the TERMPWR
  667. contact(s).  The use of keyed connectors is recommended in SCSI devices that
  668. provide terminator power to prevent accidental grounding or misconnection of
  669. terminator power.
  670.  
  671.   IMPLEMENTORS NOTE:  Regulatory agencies may require limiting maximum (short
  672.   circuit) current to the terminator power lines.  Recommended current limiting
  673.   is 2 amperes for TERMPWR.  For systems utilizing multiple initiators, the
  674.   initiators may be configured with option straps or current limiting devices.
  675.   Maximum available current should not exceed 5 amperes.
  676.  
  677.   SCSI devices shall sink no more than 1.0 mA from TERMPWR except to power an
  678. optional internal terminator.
  679.  
  680.    Single-ended SCSI devices providing terminator power on cable P and
  681. cable L shall have the following characteristics:
  682.   VTerm = 4.25 to 5.25 volts dc
  683.           1500 mA minimum source drive capability
  684.  
  685.   Differential SCSI devices providing terminator power on cable P and
  686. cable L shall have the following characteristics:
  687.   VTerm = 4.0 to 5.25 volts dc
  688.           1000 mA minimum source drive capability
  689.  
  690.   IMPLEMENTORS NOTE:  It is recommended that the terminator power lines be
  691.   decoupled at each terminator with at least a 2.2 microfarad high-frequency
  692.   capacitor to improve signal quality.
  693.  
  694.  
  695.                           Alternative 1 Termination
  696.  
  697.  
  698.                           Alternative 2 Termination
  699.  
  700.                Figure 4-5: Termination for Single-Ended Devices
  701.  
  702.  
  703.                Figure 4-6: Termination for Differential Devices
  704.  
  705.  
  706.               Figure 4-7: Differential Driver Protection Circuit
  707.  
  708. 4.4.4. RESERVED Lines
  709.  
  710.   The lines labeled RESERVED shall be open on all SCSI devices.
  711.  
  712. 4.5. SCSI Bus
  713.  
  714.   Communication on the SCSI bus is allowed between only two SCSI devices at
  715. any given time.  There is a maximum of 16 SCSI devices on a P cabled system
  716. and 32 SCSI devices on a L cabled system.  Each SCSI device
  717. has an SCSI ID bit assigned as shown in Figure 4-8.  Three sample system
  718. configurations are shown in Figure 4-9.
  719.  
  720.   When two SCSI devices communicate on the SCSI bus, one acts as an initiator
  721. and the other acts as a target.  The initiator originates an operation and the
  722. target performs the operation.  An SCSI device usually has a fixed role as an
  723. initiator or target, but some devices may be able to assume either role.
  724.  
  725.   An initiator may address up to 16 peripheral devices that are connected to a
  726. target on a P cabled system.  An initiator may address up to 32 peripheral
  727. devices that are connected to a target on a L cabled system.  Three sample
  728. system configurations are shown in Figure 4-8.
  729.  
  730.         SCSI ID bits for P and L peripheral devices:
  731.  
  732.     DB(7) DB(6) DB(5) DB(4) DB(3) DB(2) DB(1) DB(0)  <-- DATA BUS
  733.     |     |     |     |     |     |     |     |
  734.     |     |     |     |     |     |     |     SCSI ID = 0
  735.     |     |     |     |     |     |     |
  736.     |     |     |     |     |     |     SCSI ID = 1
  737.     |     |     |     |     |     |
  738.     |     |     |     |     |     SCSI ID = 2
  739.     |     |     |     |     |
  740.     |     |     |     |     SCSI ID = 3
  741.     |     |     |     |
  742.     |     |     |     SCSI ID = 4
  743.     |     |     |
  744.     |     |     SCSI ID = 5
  745.     |     |
  746.     |     SCSI ID = 6
  747.     |
  748.     SCSI ID = 7
  749.  
  750.  
  751.         SCSI ID bits for P, and L peripheral devices:
  752.  
  753.     DB(15) DB(14) DB(13) DB(12) DB(11) DB(10) DB(9) DB(8)  <-- DATA BUS
  754.     |      |      |      |      |      |      |     |
  755.     |      |      |      |      |      |      |     SCSI ID = 8
  756.     |      |      |      |      |      |      |
  757.     |      |      |      |      |      |      SCSI ID = 9
  758.     |      |      |      |      |      |
  759.     |      |      |      |      |      SCSI ID = 10
  760.     |      |      |      |      |
  761.     |      |      |      |      SCSI ID = 11
  762.     |      |      |      |
  763.     |      |      |      SCSI ID = 12
  764.     |      |      |
  765.     |      |      SCSI ID = 13
  766.     |      |
  767.     |      SCSI ID = 14
  768.     |
  769.     SCSI ID = 15
  770.  
  771.  
  772.         SCSI ID bits for L peripheral devices:
  773.  
  774.     DB(23) DB(22) DB(21) DB(20) DB(19) DB(18) DB(17) DB(16)  <-- DATA BUS
  775.     |      |      |      |      |      |      |      |
  776.     |      |      |      |      |      |      |      SCSI ID = 16
  777.     |      |      |      |      |      |      |
  778.     |      |      |      |      |      |      SCSI ID = 17
  779.     |      |      |      |      |      |
  780.     |      |      |      |      |      SCSI ID = 18
  781.     |      |      |      |      |
  782.     |      |      |      |      SCSI ID = 19
  783.     |      |      |      |
  784.     |      |      |      SCSI ID = 20
  785.     |      |      |
  786.     |      |      SCSI ID = 21
  787.     |      |
  788.     |      SCSI ID = 22
  789.     |
  790.     SCSI ID = 23
  791.  
  792.  
  793.         SCSI ID bits for L peripheral devices:
  794.  
  795.     DB(31) DB(30) DB(29) DB(28) DB(27) DB(26) DB(25) DB(24)  <-- DATA BUS
  796.     |      |      |      |      |      |      |      |
  797.     |      |      |      |      |      |      |      SCSI ID = 24
  798.     |      |      |      |      |      |      |
  799.     |      |      |      |      |      |      SCSI ID = 25
  800.     |      |      |      |      |      |
  801.     |      |      |      |      |      SCSI ID = 26
  802.     |      |      |      |      |
  803.     |      |      |      |      SCSI ID = 27
  804.     |      |      |      |
  805.     |      |      |      SCSI ID = 28
  806.     |      |      |
  807.     |      |      SCSI ID = 29
  808.     |      |
  809.     |      SCSI ID = 30
  810.     |
  811.     SCSI ID = 31
  812.  
  813.                           Figure 4-8: SCSI ID Bits
  814.  
  815.  
  816.                     Figure 4-9: Sample SCSI Configurations
  817.  
  818.   Up to 16 SCSI devices can be supported on the SCSI bus on P cabled systems.
  819. Up to 32 SCSI devices can be supported on the SCSI bus on L cabled systems.
  820. They can be any combination of initiators and targets provided there is at
  821. least one of each.
  822.  
  823.   Certain SCSI bus functions are assigned to the initiator and certain SCSI
  824. bus functions are assigned to the target.  The initiator may arbitrate for the
  825. SCSI bus and select a particular target.  The target may request the transfer
  826. of COMMAND, DATA, STATUS, or other information on the DATA BUS, and in some
  827. cases it may arbitrate for the SCSI bus and reselect an initiator for the
  828. purpose of continuing an operation.
  829.  
  830.   Information transfers on the DATA BUS are asynchronous and follow a defined
  831. REQ/ACK handshake protocol.  One or two byte(s) of information may be
  832. transferred with each handshake on the P cable.  One, two, or four bytes of
  833. information may be transferred with each handshake on the L cable.  An option
  834. is defined for synchronous data transfer.
  835.  
  836. 4.6. SCSI Bus Signals
  837.  
  838.   There are a total of 27 signals on the P cable and 45 signals on the L
  839. cable.  A total of 11 signals are used for control and 36 are used for data
  840. (messages, commands, status, and data), including parity.  These signals are
  841. described as follows:
  842.  
  843. BSY (BUSY).  An "OR-tied" signal that indicates that the bus is being used.
  844.  
  845. SEL (SELECT).  An "OR-tied" signal used by an initiator to select a target or
  846. by a target to reselect an initiator.
  847.  
  848. C/D  (CONTROL/DATA).  A signal driven by a target that indicates whether
  849. CONTROL or DATA information is on the DATA BUS.  True indicates CONTROL.
  850.  
  851. I/O (INPUT/OUTPUT).  A signal driven by a target that controls the direction
  852. of data movement on the DATA BUS with respect to an initiator. True indicates
  853. input to the initiator.  This signal is also used to distinguish between
  854. SELECTION and RESELECTION phases.
  855.  
  856. MSG (MESSAGE).  A signal driven by a target during the MESSAGE phase.
  857.  
  858. REQ (REQUEST).  A signal driven by a target on the P cable to indicate a
  859. request for a REQ/ACK data transfer handshake.
  860.  
  861. ACK (ACKNOWLEDGE).  A signal driven by an initiator on the P cable to
  862. indicate an acknowledgment for a REQ/ACK data transfer handshake.
  863.  
  864. ATN (ATTENTION).  A signal driven by an initiator to indicate the ATTENTION
  865. condition.
  866.  
  867. RST (RESET).  An "OR-tied" signal that indicates the RESET condition.
  868.  
  869. DB(7-0,P) (DATA BUS).  Eight data-bit signals, plus a parity-bit signal that
  870. form a DATA BUS.  DB(7) is the most significant bit and has the highest
  871. priority during the ARBITRATION phase.  Bit number, significance, and priority
  872. decrease downward to DB(0).  A data bit is defined as one when the signal
  873. value is true and is defined as zero when the signal value is false.  Data
  874. parity DB(P) shall be odd.  Parity is undefined during the ARBITRATION phase.
  875.  
  876. DB(31-8,P1,P2,P3) (DATA BUS). Twenty-four data-bit signals, plus three
  877. parity-bit signals that form an extension to the DATA BUS.  DB(P1,P2,P3) are
  878. parity bits for DB(15-8), DB(23-16), and DB(31-24) respectively.  On SCSI
  879. devices which support 16 IDs DB(15) has the highest priority in the DB(15-8)
  880. byte during the ARBITRATION phase.  The priority decreases downward to DB(8).
  881. DB(15) has a lower priority than DB(0).  On SCSI devices which support 32 IDs
  882. DB(23) has the highest priority in the DB(23-16) byte and DB(31) has the
  883. highest priority in the DB(31-24) byte during the ARBITRATION phase.  The
  884. priority decreases downward to DB(16) in the DB(23-16) byte and to DB(24) in
  885. the DB(31-24) byte.  DB(23) has a lower priority than DB(8) and DB(31) has a
  886. lower priority than DB(16).  A data bit is defined as one when the signal value
  887. is true and is defined as zero when the signal value is false.  Data parity
  888. DB(Px) shall be odd.
  889.  
  890. 4.6.1. Signal Values
  891.  
  892.   Signals may assume true or false values.  There are two methods of driving
  893. these signals.  In both cases, the signal shall be actively driven true, or
  894. asserted.  In the case of OR-tied drivers, the driver does not drive the
  895. signal to the false state, rather the bias circuitry of the bus terminators
  896. pulls the signal false whenever it is released by the drivers at every SCSI
  897. device.  If any driver is asserted, then the signal is true.  In the case of
  898. non-OR-tied drivers, the signal may be actively driven false.  In this
  899. standard, wherever the term negated is used, it means that the signal may be
  900. actively driven false, or may be simply released (in which case the bias
  901. circuitry pulls it false), at the option of the implementor.  The advantage to
  902. actively driving signals false during information transfer is that the
  903. transition from true to false occurs more quickly and the noise margin is much
  904. higher than if the signal is simply released.  This facilitates reliable data
  905. transfer at high rates, especially at the longer cable lengths used with
  906. differential drivers.
  907.  
  908. 4.6.2. OR-Tied Signals
  909.  
  910.   The BSY, SEL, and RST signals shall be OR-tied only.  In the ordinary
  911. operation of the bus, the BSY and RST signals may be simultaneously driven
  912. true by several drivers.  No signals other than BSY, RST, and DB(P) are
  913. simultaneously driven by two or more drivers, and any signal other than BSY,
  914. SEL, and RST may employ OR-tied or non-OR-tied drivers.  DB(P) shall not be
  915. driven false during the ARBITRATION phase but may be driven false in other
  916. phases.  There is no operational problem in mixing OR-tied and non-OR-tied
  917. drivers on signals other than BSY and RST.
  918.  
  919. 4.6.3. Signal Sources
  920.  
  921.   Table 4-6 indicates which type of SCSI device is allowed to source each
  922. signal.  No attempt is made to show if the source is driving asserted, driving
  923. negated, or is passive.  All SCSI device drivers that are not active sources
  924. shall be in the passive state.  The RST signal may be asserted by any SCSI
  925. device at any time.
  926.  
  927.  
  928.                           Table 4-6: Signal Sources
  929.  
  930. ===============================================================================
  931.                       P cable Signals
  932.               -----------------------------------------
  933.                           C/D,        8,16,32  16,32 ID
  934.                           I/O,        ID Dev   Device
  935.                           MSG,  ACK,  DB(7-0)  DB(15-8)
  936.  Bus Phase    BSY   SEL   REQ   ATN   DB(P)    DB(P1)
  937.  -----------  ----  ----  ----  ----  -------  --------
  938.  BUS FREE     None  None  None  None  None     None
  939.  ARBITRATION  All   Win   None  None  S ID     S ID
  940.  SELECTION    I&T   Init  None  Init  Init     Init
  941.  RESELECTION  I&T   Targ  Targ  Init  Targ     Targ
  942.  COMMAND      Targ  None  Targ  Init  Init     None
  943.  DATA IN      Targ  None  Targ  Init  Targ     Targ
  944.  DATA OUT     Targ  None  Targ  Init  Init     Init
  945.  STATUS       Targ  None  Targ  Init  Targ     None
  946.  MESSAGE IN   Targ  None  Targ  Init  Targ     None
  947.  MESSAGE OUT  Targ  None  Targ  Init  Init     None
  948. ==============================================================================
  949.                                L cable Signals
  950.               --------------------------------------------------
  951.                           C/D,        8,16,32  16,32 ID  32 ID
  952.                           I/O,        ID Dev   Device    Device
  953.                           MSG,  ACK,  DB(7-0)  DB(15-8)  DB(31-16)
  954.  Bus Phase    BSY   SEL   REQ   ATN   DB(P)    DB(P1)    DB(P2,P3)
  955.  -----------  ----  ----  ----  ----  -------  --------  --------
  956.  BUS FREE     None  None  None  None  None     None      None
  957.  ARBITRATION  All   Win   None  None  S ID     S ID      S ID
  958.  SELECTION    I&T   Init  None  Init  Init     Init      Init
  959.  RESELECTION  I&T   Targ  Targ  Init  Targ     Targ      Targ
  960.  COMMAND      Targ  None  Targ  Init  Init     None      None
  961.  DATA IN      Targ  None  Targ  Init  Targ     Targ      Targ
  962.  DATA OUT     Targ  None  Targ  Init  Init     Init      Init
  963.  STATUS       Targ  None  Targ  Init  Targ     None      None
  964.  MESSAGE IN   Targ  None  Targ  Init  Targ     None      None
  965.  MESSAGE OUT  Targ  None  Targ  Init  Init     None      None
  966. ==============================================================================
  967.  
  968.  
  969. All:    The signal shall be driven by all SCSI devices that are actively
  970.         arbitrating.
  971.  
  972. S ID:   A unique data bit (the SCSI ID) shall be driven by each SCSI device
  973.         that is actively arbitrating; the other data bits shall be
  974.         released (i.e., not driven) by this SCSI device.  The parity bit
  975.         (DB(P)) may be released or driven to the true state, but shall never
  976.         be driven to the false state during this phase.
  977.  
  978. I&T:    The signal shall be driven by the initiator, target, or both, as
  979.         specified in the SELECTION phase and RESELECTION phase.
  980.  
  981. Init:   If driven, this signal shall be driven only by the active initiator.
  982.  
  983. None:   The signal shall be released; that is, not be driven by any SCSI
  984.         device.  The bias circuitry of the bus terminators pulls the signal to
  985.         the false state.
  986.  
  987. Win:    The signal shall be driven by the one SCSI device that wins
  988.         arbitration.
  989.  
  990. Targ:   If the signal is driven, it shall be driven only by the active target.
  991.  
  992.  
  993. 4.7. SCSI Bus Timing
  994.  
  995.   Unless otherwise indicated, the delay-time measurements for each SCSI
  996. device, shown in Table 4-7, shall be calculated from signal conditions
  997. existing at that SCSI device's own SCSI bus connection.  Thus, these
  998. measurements (except cable skew delay) can be made without considering delays
  999. in the cable.  The timing characteristics of each signal are described in the
  1000. following paragraphs.
  1001.  
  1002.                       Table 4-7: SCSI Bus Timing Values
  1003.  
  1004.         ==============================================================
  1005.         Arbitration Delay . . . . . . . . 2.4 microseconds
  1006.         Assertion Period  . . . . . . . .  90 nanoseconds
  1007.         Bus Clear Delay . . . . . . . . . 800 nanoseconds
  1008.         Bus Free Delay  . . . . . . . . . 800 nanoseconds
  1009.         Bus Set Delay . . . . . . . . . . 1.8 microseconds
  1010.         Bus Settle Delay  . . . . . . . . 400 nanoseconds
  1011.         Cable Skew Delay  . . . . . . . .  10 nanoseconds
  1012.         Data Release Delay  . . . . . . . 400 nanoseconds
  1013.         Deskew Delay  . . . . . . . . . .  45 nanoseconds
  1014.         Disconnection Delay . . . . . . . 200 microseconds
  1015.         Hold Time . . . . . . . . . . . .  45 nanoseconds
  1016.         Negation Period . . . . . . . . .  90 nanoseconds
  1017.         Power-On to Selection Time  . . .  10 seconds recommended
  1018.         Reset to Selection Time . . . . . 250 milliseconds recommended
  1019.         Reset Hold Time . . . . . . . . .  25 microseconds
  1020.         Selection Abort Time  . . . . . . 200 microseconds
  1021.         Selection Time-out Delay  . . . . 250 milliseconds recommended
  1022.         Transfer Period . . . . . . . . . set during an SDTR message
  1023.         Fast Assertion Period . . . . . .  30 nanoseconds
  1024.         Fast Cable Skew Delay . . . . . .   5 nanoseconds
  1025.         Fast Deskew Delay . . . . . . . .  20 nanoseconds
  1026.         Fast Hold Time  . . . . . . . . .  10 nanoseconds
  1027.         Fast Negation Period  . . . . . .  30 nanoseconds
  1028.         ==============================================================
  1029.  
  1030.  
  1031. 4.7.1. Arbitration Delay 
  1032.  
  1033.   The minimum time an SCSI device shall wait from asserting BSY for
  1034. arbitration until the DATA BUS can be examined to see if arbitration has been
  1035. won.  There is no maximum time.
  1036.  
  1037. 4.7.2. Assertion Period 
  1038.  
  1039.   The minimum time that a target shall assert REQ while using synchronous data
  1040. transfers.  Also, the minimum time that an initiator shall assert ACK while
  1041. using synchronous data transfers.
  1042.  
  1043. 4.7.3. Bus Clear Delay 
  1044.  
  1045.   The maximum time for an SCSI device to stop driving all bus signals after:
  1046.   (1) The BUS FREE phase is detected (BSY and SEL both false for a bus settle
  1047.   delay)
  1048.   (2) SEL is received from another SCSI device during the ARBITRATION phase
  1049.   (3) The transition of RST to true.
  1050.  
  1051.   For the first condition above, the maximum time for an SCSI device to clear
  1052. the bus is 1200 nanoseconds from BSY and SEL first becoming both false.  If an
  1053. SCSI device requires more than a bus settle delay to detect BUS FREE phase, it
  1054. shall clear the bus within a bus clear delay minus the excess time.
  1055.  
  1056. 4.7.4. Bus Free Delay 
  1057.  
  1058.   The minimum time that an SCSI device shall wait from its detection of the
  1059. BUS FREE phase (BSY and SEL both false for a bus settle delay) until its
  1060. assertion of BSY when going to the ARBITRATION phase.
  1061.  
  1062. 4.7.5. Bus Set Delay 
  1063.  
  1064.   The maximum time for an SCSI device to assert BSY and its SCSI ID bit on the
  1065. DATA BUS after it detects BUS FREE phase (BSY and SEL both false for a bus
  1066. settle delay) for the purpose of entering the ARBITRATION phase.
  1067.  
  1068. 4.7.6. Bus Settle Delay 
  1069.  
  1070.   The minimum time to wait for the bus to settle after changing certain
  1071. control signals as called out in the protocol definitions.
  1072.  
  1073. 4.7.7. Cable Skew Delay 
  1074.  
  1075.   The maximum difference in propagation time allowed between any two SCSI bus
  1076. signals measured between any two SCSI devices.
  1077.  
  1078. 4.7.8. Data Release Delay 
  1079.  
  1080.   The maximum time for an initiator to release the DATA BUS signals following
  1081. the transition of the I/O signal from false to true.
  1082.  
  1083. 4.7.9. Deskew Delay 
  1084.  
  1085.   The minimum time required for deskew of certain signals.
  1086.  
  1087. 4.7.10. Disconnection Delay 
  1088.  
  1089.   The minimum time that a target shall wait after releasing BSY before
  1090. participating in an ARBITRATION phase when honoring a DISCONNECT message from
  1091. the initiator.
  1092.  
  1093. 4.7.11. Hold Time 
  1094.  
  1095.   The minimum time added between the assertion of REQ or ACK and the changing
  1096. of the data lines to provide hold time in the initiator or target while using
  1097. synchronous data transfers.
  1098.  
  1099. 4.7.12. Negation Period 
  1100.  
  1101.   The minimum time that a target shall negate REQ while using synchronous data
  1102. transfers.  Also, the minimum time that an initiator shall negate ACK while
  1103. using synchronous data transfers.
  1104.  
  1105. 4.7.13. Power-On to Selection Time 
  1106.  
  1107.   The recommended maximum time from power application until an SCSI target is
  1108. able to respond with appropriate status and sense data to the TEST UNIT READY,
  1109. INQUIRY, and REQUEST SENSE commands.
  1110.  
  1111. 4.7.14. Reset to Selection Time 
  1112.  
  1113.   The recommended maximum time after a hard RESET condition until an SCSI
  1114. target is able to respond with appropriate status and sense data to the TEST
  1115. UNIT READY, INQUIRY, and REQUEST SENSE commands.
  1116.  
  1117. 4.7.15. Reset Hold Time 
  1118.  
  1119.   The minimum time for which RST is asserted.  There is no maximum time.
  1120.  
  1121. 4.7.16. Selection Abort Time 
  1122.  
  1123.   The maximum time that a target (or initiator) shall take from its most
  1124. recent detection of being selected (or reselected) until asserting a BSY
  1125. response.  This time-out is required to ensure that a target (or initiator)
  1126. does not assert BSY after a SELECTION (or RESELECTION) phase has been aborted.
  1127. This is not the selection time-out period; see 5.1.3.1 and 5.1.4.2 for a
  1128. complete description.
  1129.  
  1130. 4.7.17. Selection Time-out Delay 
  1131.  
  1132.   The minimum time that an initiator (or target) should wait for a BSY
  1133. response during the SELECTION (or RESELECTION) phase before starting the time-
  1134. out procedure.  Note that this is only a recommended time period.
  1135.  
  1136. 4.7.18. Transfer Period 
  1137.  
  1138.   The Transfer Period specifies the minimum time allowed between the leading
  1139. edges of successive REQ pulses and of successive ACK pulses while using
  1140. synchronous data transfers.  (See 5.1.5.2 and 5.6.21.)
  1141.  
  1142. 4.8. Fast Synchronous Transfer Option
  1143.  
  1144.   When devices negotiate a synchronous data transfer period between 100 ns and
  1145. 200 ns they are said to be using "fast synchronous data transfers".  Devices
  1146. which negotiate a synchronous data transfer period greater than 200 ns use
  1147. timing parameters specified in 4.7.  When a fast synchronous data transfer
  1148. period is negotiated, those specific times redefined in this section are used;
  1149. those not redefined remain the same.  The minimum synchronous data transfer
  1150. period is 100 ns.
  1151.  
  1152. 4.8.1. Fast Assertion Period 
  1153.  
  1154.   This value is the minimum time that a target shall assert REQ while using
  1155. fast synchronous data transfers.  Also, the minimum time that an initiator
  1156. shall assert ACK while using fast synchronous data transfers.
  1157.  
  1158. 4.8.2. Fast Cable Skew Delay 
  1159.  
  1160.   This value is the maximum difference in propagation time allowed between any
  1161. two SCSI bus signals measured between any two SCSI devices while using fast
  1162. synchronous data transfers.
  1163.  
  1164. 4.8.3. Fast Deskew Delay 
  1165.  
  1166.   This value is the minimum time required for deskew of certain signals while
  1167. using fast synchronous data transfers.
  1168.  
  1169. 4.8.4. Fast Hold Time 
  1170.  
  1171.   This value is the minimum time added between the assertion of REQ or ACK and
  1172. the changing of the data lines to provide hold time in the initiator or target,
  1173. respectively, while using fast synchronous data transfers.
  1174.  
  1175. 4.8.5. Fast Negation Period 
  1176.  
  1177.   This value is the minimum time that a target shall negate REQ
  1178. while using fast synchronous data transfers.  Also, the minimum time that an
  1179. initiator shall negate ACK while using fast synchronous data
  1180. transfers.
  1181.  
  1182. 5. Logical Characteristics
  1183.  
  1184. 5.1. SCSI Bus Phases
  1185.  
  1186.   The SCSI architecture includes eight distinct phases:
  1187.  
  1188.   BUS FREE phase
  1189.   ARBITRATION phase
  1190.   SELECTION phase
  1191.   RESELECTION phase
  1192.   COMMAND phase  \
  1193.   DATA phase      \   These phases are collectively termed the
  1194.   STATUS phase    /   information transfer phases.
  1195.   MESSAGE phase  /
  1196.  
  1197.   The SCSI bus can never be in more than one phase at any given time.  In the
  1198. following descriptions, signals that are not mentioned shall not be asserted.
  1199.  
  1200. 5.1.2. ARBITRATION Phase
  1201.  
  1202.   The ARBITRATION phase allows one SCSI device to gain control of the SCSI bus
  1203. so that it can initiate or resume an I/O process.
  1204.  
  1205.   The procedure for an SCSI device to obtain control of the SCSI bus is as
  1206. follows:
  1207.   (1) The SCSI device shall first wait for the BUS FREE phase to occur.  The
  1208. BUS FREE phase is detected whenever both the BSY and SEL signals are
  1209. simultaneously and continuously false for a minimum of a bus settle delay.
  1210.  
  1211.   IMPLEMENTORS NOTE:  This bus settle delay is necessary because a
  1212.   transmission line phenomenon known as a "wired-OR glitch" may cause the BSY
  1213.   signal to briefly appear false, even though it is being driven true.
  1214.  
  1215.   (2) The SCSI device shall wait a minimum of a bus free delay after detection
  1216. of the BUS FREE phase (i.e. after the BSY and SEL signals are both false for a
  1217. bus settle delay) before driving any signal.
  1218.   (3) Following the bus free delay in Step (2), the SCSI device may arbitrate
  1219. for the SCSI bus by asserting both the BSY signal and its own SCSI ID, however
  1220. the SCSI device shall not arbitrate (i.e. assert the BSY signal and its SCSI
  1221. ID) if more than a bus set delay has passed since the BUS FREE phase was last
  1222. observed.
  1223.  
  1224.   IMPLEMENTORS NOTE:  There is no maximum delay before asserting the BSY
  1225.   signal and the SCSI ID following the bus free delay in Step (2) as long as
  1226.   the bus remains in the BUS FREE phase.  However, SCSI devices that delay
  1227.   longer than a bus settle delay plus a bus set delay from the time when the
  1228.   BSY and SEL signals first become false may fail to participate in
  1229.   arbitration when competing with faster SCSI devices.
  1230.  
  1231.   (4) After waiting at least an arbitration delay (measured from its assertion
  1232. of the BSY signal) the SCSI device shall examine the DATA BUS.  If a higher
  1233. priority SCSI ID bit is true on the DATA BUS (DB(7) is the highest), then the
  1234. SCSI device has lost the arbitration and the SCSI device may release its
  1235. signals and return to Step (1).  If no higher priority SCSI ID bit is true on
  1236. the DATA BUS, then the SCSI device has won the arbitration and it shall assert
  1237. the SEL signal.  Any SCSI device other than the winner has lost the
  1238. arbitration and shall release the BSY signal and its SCSI ID bit within a bus
  1239. clear delay after the SEL signal becomes true.  An SCSI device that loses
  1240. arbitration may return to Step (1).
  1241.  
  1242.   The SCSI ID priority is shown below:
  1243.                                      Priority
  1244.                     Highest             -->              Lowest
  1245.                     SCSI ID                              SCSI ID
  1246.  
  1247.         P Cable        7         0                15        8
  1248.         L Cable        7    0    15    8    23    16   31   24
  1249.  
  1250.  
  1251.   IMPLEMENTORS NOTE:  It is recommended that new implementations wait for the
  1252.   SEL signal to become true before releasing the BSY signal and SCSI ID bit
  1253.   when arbitration is lost.
  1254.  
  1255.   (5)  The SCSI device that wins arbitration shall wait at least a bus clear
  1256. delay plus a bus settle delay after asserting the SEL signal before changing
  1257. any signals.
  1258.  
  1259.   NOTE:  The SCSI ID bit is a single bit on the DATA BUS that corresponds to
  1260.   the SCSI device's unique SCSI address.  All other DATA BUS bits shall be
  1261.   released by the SCSI device.  Parity is not valid during the ARBITRATION
  1262.   phase.  During the ARBITRATION phase, DB(PX) may be released or asserted, but
  1263.   shall not be actively driven false.
  1264.  
  1265. 5.1.5. Information Transfer Phases
  1266.  
  1267.   NOTE:  The COMMAND, DATA, STATUS, and MESSAGE phases are all grouped
  1268.   together as the information transfer phases because they are all used to
  1269.   transfer data or control information via the DATA BUS.  The actual content
  1270.   of the information is beyond the scope of this section.
  1271.  
  1272.   The C/D, I/O, and MSG signals are used to distinguish between the different
  1273. information transfer phases (see Table 5-1).  The target drives these three
  1274. signals and therefore controls all changes from one phase to another.  The
  1275. initiator can request a MESSAGE OUT phase by asserting the ATN signal, while
  1276. the target can cause the BUS FREE phase by releasing the MSG, C/D, I/O, and
  1277. BSY signals.
  1278.  
  1279.   The information transfer phases use one or more REQ/ACK handshakes to
  1280. control the information transfer.  Each REQ/ACK handshake allows the transfer
  1281. of one byte of information.  During the information transfer phases the BSY
  1282. signal shall remain true and the SEL signal shall remain false.  Additionally,
  1283. during the information transfer phases, the target shall continuously envelope
  1284. the REQ/ACK handshake(s) with the C/D, I/O, and MSG signals in such a manner
  1285. that these control signals are valid for a bus settle delay before the
  1286. assertion of the REQ signal of the first handshake and remain valid until
  1287. after the negation of the ACK signal at the end of the handshake of the last
  1288. transfer of the phase.
  1289.  
  1290.   IMPLEMENTORS NOTES:
  1291.   (1) After the negation of the ACK signal of the last transfer of the phase,
  1292.   the target may prepare for a new phase by asserting or negating the C/D,
  1293.   I/O, and MSG signals.  These signals may be changed together or
  1294.   individually.  They may be changed in any order and may be changed more than
  1295.   once.  It is desirable that each line change only once.  A new phase does
  1296.   not begin until the REQ signal is asserted for the first byte of the new
  1297.   phase.
  1298.   (2) A phase is defined as ending when the C/D, I/O, or MSG signals change
  1299.   after the negation of the ACK signal.  The time between the end of a phase
  1300.   and the assertion of the REQ signal beginning a new phase is undefined.  An
  1301.   initiator is allowed to anticipate a new phase based on the previous phase,
  1302.   the expected new phase, and early information provided by changes in the
  1303.   C/D, I/O, and MSG signals.  However, the anticipated phase is not valid
  1304.   until the REQ signal is asserted at the beginning of a the next phase.
  1305.  
  1306.                    Table 5-1: Information Transfer Phases
  1307.  
  1308. ==============================================================================
  1309.    Signal
  1310. -----------
  1311. MSG C/D I/O   Phase Name          Direction Of Transfer         Comment
  1312. ------------------------------------------------------------------------------
  1313.  0   0   0    DATA OUT            Initiator to target     \     Data
  1314.  0   0   1    DATA IN             Initiator from target   /     Phase
  1315.  0   1   0    COMMAND             Initiator to target
  1316.  0   1   1    STATUS              Initiator from target
  1317.  1   0   0    *
  1318.  1   0   1    *
  1319.  1   1   0    MESSAGE OUT         Initiator to target     \     Message
  1320.  1   1   1    MESSAGE IN          Initiator from target   /     Phase
  1321. ==============================================================================
  1322.  
  1323.   Key:  0 = False,  1 = True,  * = Reserved for future standardization.
  1324.  
  1325. 5.1.5.3. Wide Data Transfer
  1326.   Wide data transfer is optional and may be used in the DATA phase only if a
  1327. nonzero wide data transfer agreement is in effect.  The messages determine the
  1328. use of wide mode by both SCSI devices and establish a data path width to be
  1329. used during the DATA phase.
  1330.  
  1331.   Wide data transfers of 16- or 32-bits may be established.  Although not
  1332. mandatory, it is recommended that targets and initiators that support 32-bit
  1333. wide transfers also support 16-bit wide transfers as well.  All SCSI devices
  1334. shall support 8-bit data transfers.
  1335.  
  1336.   During 16-bit wide data transfers, the first and second logical data bytes
  1337. for each data phase shall be transferred across the DB(7-0,P) and DB(15-8,P2)
  1338. signals, respectively, on the P cable.  Subsequent pairs of data bytes are
  1339. likewise transferred in parallel across the P cable (see Figure 5-1).
  1340.  
  1341.   During 32-bit wide data transfers, the first, second, third, and fourth
  1342. logical data bytes for each data phase shall be transferred across the
  1343. DB(7-0,P), DB(15-8,P2), DB(23-16,P2), and DB(31-24,P3) signals, respectively,
  1344. on the L cable.  Subsequent pairs of data bytes are likewise transferred in
  1345. parallel across the L cable (see Figure 5-1).
  1346.  
  1347.  
  1348.     When transferring bytes W, X, Y and Z across the three bus widths,
  1349.     they are transferred as shown below:
  1350.  
  1351.     Hand-  8-bit           16-bit                      32-bit
  1352.     shake                                  ______  _____  _______ ______
  1353.       #   P Cable         P cable         /           L Cable           \
  1354.          +-------+   +---------------+   +-------------------------------+
  1355.       1  |   W   |   |   X   |   W   |   |   Z   |   Y   |   X   |   W   |
  1356.          |-------|   |-------+-------|   +-------------------------------+
  1357.       2  |   X   |   |   Z   |   Y   |    31...24 23...16 15....8 7.....0
  1358.          |-------|   +---------------+               Bit Number
  1359.       3  |   Y   |    15....8 7.....0
  1360.          |-------|
  1361.       4  |   Z   |       Bit Number
  1362.          +-------+
  1363.           7.....0
  1364.  
  1365.          Bit Number
  1366.  
  1367.      NOTE: This figure does not represent how these bytes are stored in
  1368.            the initiator's memory, which may be different.
  1369.  
  1370.  
  1371.                      Figure 5-1: Wide SCSI Byte Ordering
  1372.  
  1373.  
  1374.   If the last data byte transferred for a command does not fall on the DB(15-
  1375. 8,P1) signals for a 16-bit wide transfer or the DB(31-24,P3) signals for a 32-
  1376. bit wide transfer, then the values of the remaining higher-numbered bits are
  1377. undefined.  However, parity bits for these undefined bytes shall be valid for
  1378. whatever data is placed on the bus.
  1379.  
  1380. 7. All Device Types
  1381.  
  1382. 7.2. Commands for All Device Types
  1383.  
  1384.   The operation codes for commands that apply to all device types are listed
  1385. in Table 7-1.
  1386.  
  1387.                   Table 7-1: Commands for All Device Types
  1388.  
  1389. ==============================================================================
  1390.                                    Operation
  1391. Command Name                         Code       Type    Section
  1392. ------------------------------------------------------------------------------
  1393. CHANGE DEFINITION                     40h        O       7.2.1
  1394. COMPARE                               39h        O       7.2.2
  1395. COPY                                  18h        O       7.2.3
  1396. COPY AND VERIFY                       3Ah        O       7.2.4
  1397. INQUIRY                               12h        M       7.2.5
  1398. LOG SELECT                            4Ch        O       7.2.6
  1399. LOG SENSE                             4Dh        O       7.2.7
  1400. MODE SELECT(6)                        15h        Z       7.2.8
  1401. MODE SELECT(10)                       55h        Z       7.2.9
  1402. MODE SENSE(6)                         1Ah        Z       7.2.10
  1403. MODE SENSE(10)                        5Ah        Z       7.2.11
  1404. READ BUFFER                           3Ch        O       7.2.12
  1405. RECEIVE DIAGNOSTIC RESULTS            1Ch        O       7.2.13
  1406. REQUEST SENSE                         03h        M       7.2.14
  1407. SEND DIAGNOSTIC                       1Dh        O       7.2.15
  1408. TEST UNIT READY                       00h        M       7.2.16
  1409. WRITE BUFFER                          3Bh        O       7.2.17
  1410. ==============================================================================
  1411.  
  1412.   Key:  M = Command implementation is mandatory.
  1413.         O = Command implementation is optional.
  1414.         Z = Command implementation is device type specific.
  1415.  
  1416. 7.2.3. COPY Command
  1417.  
  1418.  
  1419.                            Table 7-5: COPY Command
  1420.  
  1421. ==============================================================================
  1422.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  1423. Byte |        |        |        |        |        |        |        |        |
  1424. ==============================================================================
  1425.  0   |                           Operation Code (18h)                        |
  1426. -----+-----------------------------------------------------------------------|
  1427.  1   | Logical Unit Number      |              Reserved             |  Pad   |
  1428. -----+-----------------------------------------------------------------------|
  1429.  2   | (MSB)                                                                 |
  1430. - - -|- -                        Parameter List Length                    - -|
  1431.  4   |                                                                 (LSB) |
  1432. -----+-----------------------------------------------------------------------|
  1433.  5   |                           Control                                     |
  1434. ==============================================================================
  1435.  
  1436.  
  1437.   The COPY command (Table 7-5) provides a means to copy data from one logical
  1438. unit to another or the same logical unit.  The logical unit that receives and
  1439. performs the COPY command is called the copy manager.  The copy manager is
  1440. responsible for copying data from a logical unit (source device) to a logical
  1441. unit (destination device).  These logical units may reside on different SCSI
  1442. devices or the same SCSI device (in fact all three may be the same logical
  1443. unit).  Some SCSI devices that implement this command may not support copies
  1444. to or from another SCSI device, or may not support third party copies (i.e.,
  1445. both the source and the destination logical units reside on other SCSI
  1446. devices).
  1447.  
  1448.   The pad bit (7.2.3.7) is used in conjunction with the Cat bit (7.2.3.7) in
  1449. the segment descriptors to define what action should be taken when a segment
  1450. of the copy does not fit exactly into an integer number of destination blocks.
  1451.   The parameter list length field specifies the length in bytes of the
  1452. parameters that shall be sent during the DATA OUT phase of the command.  A
  1453. parameter list length of zero indicates that no data shall be transferred.
  1454. This condition shall not be considered as an error.
  1455.  
  1456.   The COPY parameter list (Table 7-6) begins with a four-byte header that
  1457. contains the COPY function code and priority.  Following the header is one or
  1458. more segment descriptors.
  1459.  
  1460.                        Table 7-6: COPY Parameter List
  1461.  
  1462. ==============================================================================
  1463.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  1464. Byte |        |        |        |        |        |        |        |        |
  1465. ==============================================================================
  1466.  0   |         COPY Function Code                 |         Priority         |
  1467. -----+-----------------------------------------------------------------------|
  1468.  1   |                           Vendor Specific                             |
  1469. -----+-----------------------------------------------------------------------|
  1470.  2   |                           Reserved                                    |
  1471. -----+-----------------------------------------------------------------------|
  1472.  3   |                           Reserved                                    |
  1473. ==============================================================================
  1474.      |                         Segment Descriptor(s)                         |
  1475. ==============================================================================
  1476.  0 - |                           Segment Descriptor 0                        |
  1477.  xx  |                     (See specific table for length.)                  |
  1478. -----+-----------------------------------------------------------------------|
  1479.      |                                 .                                     |
  1480.      |                                 .                                     |
  1481.      |                                 .                                     |
  1482. -----+-----------------------------------------------------------------------|
  1483.  0 - |                           Segment Descriptor n                        |
  1484.  xx  |                     (See specific table for length.)                  |
  1485. ==============================================================================
  1486.  
  1487.  
  1488.   The COPY function code field defines a specific format for the segment
  1489. descriptors.  The COPY function codes are defined in Table 7-7.  A target need
  1490. not support all function codes for its device type.
  1491.  
  1492.   The priority field of the COPY parameter list establishes the relative
  1493. priority of this COPY command to other commands being executed by the same
  1494. target.  All other commands are assumed to have a priority of 1.  Priority 0
  1495. is the highest priority with increasing values indicating lower priorities.
  1496.  
  1497.   The segment descriptor formats are determined by the COPY function code.
  1498. The segment descriptor format used for write-once devices, CD-ROM devices, and
  1499. optical-memory devices shall be the same as for direct-access devices.  The
  1500. segment descriptor format used for printer devices, communications, and
  1501. processor devices, shall be the same as for sequential-access devices.  Thus a
  1502. COPY from a write-once device to a printer device uses the same segment
  1503. descriptor format as for a COPY from a direct-access device to a sequential-
  1504. access device (see Table 7-7).  The segment descriptor formats are described
  1505. in Tables 7-8 through 7-11.  A maximum of 256 segment descriptors are
  1506. permitted.  The segment descriptors are identified by ascending numbers
  1507. beginning with zero.
  1508.  
  1509.                        Table 7-7: COPY Function Codes
  1510.  
  1511. ==============================================================================
  1512.        Peripheral Device Type                COPY      Segment
  1513.        ----------------------              Function   Descriptor
  1514. Source                 Destination           Code       Table     Comments
  1515. ------------------------------------------------------------------------------
  1516. Direct-Access          Sequential-Access       0         7-8
  1517.  (0,4,5,7)              (1,2,3,9)
  1518. Sequential-Access      Direct-Access           1         7-8
  1519.  (1,3,9)                (0,4,7)
  1520. Direct-Access          Direct-Access           2         7-9
  1521.  (0,4,5,7)              (0,4,7)
  1522. Sequential-Access      Sequential-Access       3         7-10
  1523.  (1,3,9)                (1,2,3,9)
  1524. Sequential-Access      Sequential-Access       4         7-11    Image Copy
  1525.  (1)                    (1)
  1526. Direct-Access          Sequential-Access       5         7-new1  32 address
  1527.  (0,4,5,7)              (1,2,3,9)
  1528. Sequential-Access      Direct-Access           6         7-new1  32 address
  1529.  (1,3,9)                (0,4,7)
  1530. Direct-Access          Direct-Access           7         7-new2  32 address
  1531.  (0,4,5,7)              (0,4,7)
  1532. Sequential-Access      Sequential-Access       8         7-new3  32 address
  1533.  (1,3,9)                (1,2,3,9)
  1534. Sequential-Access      Sequential-Access       9         7-new4  Image Copy;
  1535.  (1)                    (1)                                      32 address
  1536. ==============================================================================
  1537.  
  1538.  
  1539.   The numbers in parenthesis are the peripheral device type codes (see Table
  1540. 7-17).
  1541.  
  1542. COPY function code:  00h        Direct-access to sequential-access
  1543.                      01h        Sequential-access to writable direct-access
  1544.                      02h        Direct-access to writable direct-access
  1545.                      03h        Sequential-access to sequential-access
  1546.                      04h        Sequential-access image copy
  1547.                      05h        Direct-access to sequential-access
  1548.                      06h        Sequential-access to writable direct-access
  1549.                      07h        Direct-access to writable direct-access
  1550.                      08h        Sequential-access to sequential-access
  1551.                      09h        Sequential-access image copy
  1552.                      0Ah - 0Fh  Reserved
  1553.                      10h - 1Fh  Vendor specific
  1554.  
  1555.   For the COMPARE command the destination direct-access device does not have
  1556. to be a writable device.
  1557.  
  1558. 7.2.3.1. Errors Detected by the Managing SCSI Device
  1559.   Two classes of exception conditions may occur during execution of a COPY
  1560. command.  The first class consists of those exception conditions detected by
  1561. the SCSI device that received the COPY command and is managing the execution
  1562. of the command.  These conditions include parity errors while transferring the
  1563. COPY command and status byte, invalid parameters in the COPY command, invalid
  1564. segment descriptors, and inability of the SCSI device controlling the COPY
  1565. functions to continue operating.  In the event of such an exception condition,
  1566. the SCSI device managing the COPY shall:
  1567.   (1) Terminate the COPY command with CHECK CONDITION status.
  1568.   (2) The valid bit in the sense data shall be set to one.  The segment number
  1569. shall contain the number of the segment descriptor being processed at the time
  1570. the exception condition is detected.  The sense key shall contain the sense
  1571. key code describing the exception condition (i.e., not COPY ABORTED).  The
  1572. information field shall contain the difference between the number of blocks
  1573. field in the segment descriptor being processed at the time of the failure and
  1574. the number of blocks successfully copied.  This number is the residue of
  1575. unprocessed blocks remaining for the segment descriptor.
  1576.  
  1577. 7.2.3.2. Errors Detected by a Target
  1578.   The second class of errors consists of exception conditions detected by the
  1579. SCSI device transferring data at the request of the SCSI device managing the
  1580. transfer.  The SCSI device managing the COPY command detects exception
  1581. conditions by receiving CHECK CONDITION status from one of the SCSI devices it
  1582. is managing.  It then shall recover the sense data associated with the
  1583. exception condition.
  1584.  
  1585.   The SCSI device managing the COPY command may also be the source or
  1586. destination SCSI device (or both).  It shall distinguish between a failure of
  1587. the management of the COPY and a failure of the data transfer being requested.
  1588. It shall then create the appropriate sense data internally.
  1589.  
  1590.   After recovering the sense data associated with the detected error, the SCSI
  1591. device managing the COPY command shall:
  1592.   (1) Terminate the COPY command with CHECK CONDITION status.
  1593.   (2) The valid bit in the sense data shall be set to one.  The segment number
  1594. shall contain the number of the segment descriptor being processed at the time
  1595. the exception condition is detected.  The sense key shall be set to COPY
  1596. ABORTED.  The information field shall contain the difference between the
  1597. number of blocks field in the segment descriptor being processed at the time
  1598. of the failure and the number of blocks successfully copied.  This number is
  1599. the residue of unprocessed blocks remaining for the segment descriptor.
  1600.  
  1601.   The first byte of the command-specific information field shall specify the
  1602. starting byte number, relative to the first byte of sense data, of an area
  1603. that contains (unchanged) the source logical unit's status byte and sense
  1604. data.  A zero value indicates that no status byte or sense data is being
  1605. returned for the source logical unit.
  1606.  
  1607.   The second byte of the command-specific information field shall specify the
  1608. starting byte number, relative to the first byte of sense data, of an area
  1609. that contains (unchanged) the destination logical unit's status byte and sense
  1610. data.  A zero value indicates that no status byte or sense data is being
  1611. returned for the destination logical unit.
  1612.  
  1613. 7.2.3.3. COPY Function Code 00h, 01h, 05h, and 06h
  1614.   The format for the segment descriptors for COPY transfers between direct-
  1615. access and sequential-access devices is specified in Table 7-8 and Table
  1616. 7-new1.  These formats are required for COPY function codes 00h or 01h and
  1617. COPY function codes 05h and 06h, respectively.  The segment descriptor may be
  1618. repeated up to 256 times within the parameter list length specified in the
  1619.   command descriptor block.
  1620.  
  1621.       Table 7-8: Segment Descriptor for COPY Function Codes 00h and 01h
  1622.  
  1623. ==============================================================================
  1624.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  1625. Byte |        |        |        |        |        |        |        |        |
  1626. ==============================================================================
  1627.  0   | Source Address           |Reserved|  Cat   |     Source LUN           |
  1628. -----+--------------------------+-----------------+--------------------------|
  1629.  1   | Destination Address      |   Reserved      |     Destination LUN      |
  1630. -----+-----------------------------------------------------------------------|
  1631.  2   | (MSB)                                                                 |
  1632. -----+---             Sequential-Access Device Block Length               ---|
  1633.  3   |                                                                 (LSB) |
  1634. -----+-----------------------------------------------------------------------|
  1635.  4   | (MSB)                                                                 |
  1636. - - -|- -             Direct-Access Device Number of Blocks               - -|
  1637.  7   |                                                                 (LSB) |
  1638. -----+-----------------------------------------------------------------------|
  1639.  8   | (MSB)                                                                 |
  1640. - - -|- -             Direct-Access Device Logical Block Address          - -|
  1641. 11   |                                                                 (LSB) |
  1642. ==============================================================================
  1643.  
  1644.  
  1645.          Table 7-new1: Segment Descriptor for Function Codes 05h and 06h
  1646.  
  1647. ==============================================================================
  1648.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  1649. Byte |        |        |        |        |        |        |        |        |
  1650. ==============================================================================
  1651.  0   |                             Source Address                            |
  1652. -----+-----------------------------------------------------------------------|
  1653.  1   |  CAT   |   Reserved                        |        Source LUN        |
  1654. -----+-----------------------------------------------------------------------|
  1655.  2   |                          Destination Address                          |
  1656. -----+-----------------------------------------------------------------------|
  1657.  3   |            Reserved                        |     Destination LUN      |
  1658. -----+-----------------------------------------------------------------------|
  1659.  4   |                                Reserved                               |
  1660. -----+-----------------------------------------------------------------------|
  1661.  5   | (MSB)                                                                 |
  1662. -----+---             Sequential-Access Device Block Length               ---|
  1663.  7   |                                                                 (LSB) |
  1664. -----+-----------------------------------------------------------------------|
  1665.  8   | (MSB)                                                                 |
  1666. - - -|- -             Direct-Access Device Number of Blocks               - -|
  1667. 11   |                                                                 (LSB) |
  1668. -----+-----------------------------------------------------------------------|
  1669. 12   | (MSB)                                                                 |
  1670. - - -|- -             Direct-Access Device Logical Block Address          - -|
  1671. 15   |                                                                 (LSB) |
  1672. ==============================================================================
  1673.  
  1674.  
  1675.   The source address and source LUN fields specify the SCSI bus ID and logical
  1676. unit of the device to copy the data from for this segment of the COPY command.
  1677. The destination address and destination LUN fields specify the SCSI bus ID and
  1678. logical unit to copy the data to for this segment of the COPY command.  Some
  1679. SCSI devices may not support third-party COPY in which the copying SCSI device
  1680. is not the source or destination device.  Some SCSI devices only support COPY
  1681. within the SCSI device and not to other SCSI devices.  If an unsupported COPY
  1682. operation is requested, the command shall be terminated with CHECK CONDITION
  1683. status and the sense key shall be set to ILLEGAL REQUEST with an additional
  1684. sense code of INVALID FIELD IN PARAMETER LIST (see 7.2.3.1).
  1685.  
  1686.   A catenate (Cat) bit (optional) of one indicates that the COPY manager shall
  1687. catenate the last source block of a segment with the first source block of the
  1688. next segment if the last source block does not end exactly at the end of the
  1689. destination block.  The definition of a cat bit of zero depends on the setting
  1690. of the pad bit in the command descriptor block  (see 7.2.3.7).
  1691.  
  1692.   The sequential-access device block-length field specifies the block length
  1693. to be used on the sequential-access logical unit during this segment of the
  1694. COPY command.  If the SCSI device managing the COPY knows this block length is
  1695. not supported, the command shall be terminated with CHECK CONDITION status and
  1696. the sense key shall be set to ILLEGAL REQUEST with an additional sense code of
  1697. INVALID FIELD IN PARAMETER LIST . If the block length is found to be invalid
  1698. while executing a read or write operation to the sequential-access device, the
  1699. command shall be terminated with CHECK CONDITION status and the sense key
  1700. shall be set to COPY ABORTED (see 7.2.3.2).
  1701.  
  1702.   The direct-access device number of blocks field specifies the number of
  1703. blocks in the current segment to be copied.  A value of zero indicates that no
  1704. blocks shall be transferred in this segment.
  1705.  
  1706.   The direct-access device logical block address field specifies the starting
  1707. logical block address on the logical unit for this segment.
  1708.  
  1709. 7.2.3.4. COPY Function Code 02hand 07h
  1710.   The format for the segment descriptors for COPY transfers among direct-
  1711. access devices is specified in Table 7-9 and Table 7-new2.  These formats are
  1712. required for COPY function code 02h and COPY function code 07h, respectively.
  1713. The segment descriptor may be repeated up to 256 times within the parameter
  1714. list length specified in the command descriptor block.
  1715.  
  1716.           Table 7-9: Segment Descriptor for COPY Function Code 02h
  1717.  
  1718. ==============================================================================
  1719.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  1720. Byte |        |        |        |        |        |        |        |        |
  1721. ==============================================================================
  1722.  0   | Source Address           |   DC   |  Cat   | Source LUN               |
  1723. -----+--------------------------+-----------------+--------------------------|
  1724.  1   | Destination Address      |   Reserved      | Destination LUN          |
  1725. -----+-----------------------------------------------------------------------|
  1726.  2   |                              Reserved                                 |
  1727. -----+-----------------------------------------------------------------------|
  1728.  3   |                              Reserved                                 |
  1729. -----+-----------------------------------------------------------------------|
  1730.  4   | (MSB)                                                                 |
  1731. - - -|- -                Number of Blocks                                 - -|
  1732.  7   |                                                                 (LSB) |
  1733. -----+-----------------------------------------------------------------------|
  1734.  8   | (MSB)                                                                 |
  1735. - - -|- -                Source Logical Block Address                     - -|
  1736. 11   |                                                                 (LSB) |
  1737. -----+-----------------------------------------------------------------------|
  1738. 12   | (MSB)                                                                 |
  1739. - - -|- -                Destination Logical Block Address                - -|
  1740. 15   |                                                                 (LSB) |
  1741. ==============================================================================
  1742.  
  1743.           Table 7-new2: Segment Descriptor for COPY Function Code 07h
  1744.  
  1745. ==============================================================================
  1746.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  1747. Byte |        |        |        |        |        |        |        |        |
  1748. ==============================================================================
  1749.  0   |                             Source Address                            |
  1750. -----+-----------------------------------------------------------------------|
  1751.  1   |  CAT   |   Reserved                        |        Source LUN        |
  1752. -----+-----------------------------------------------------------------------|
  1753.  2   |                          Destination Address                          |
  1754. -----+-----------------------------------------------------------------------|
  1755.  3   |  DC    |   Reserved                        |     Destination LUN      |
  1756. -----+-----------------------------------------------------------------------|
  1757.  4   | (MSB)                                                                 |
  1758. - - -|- -                Number of Blocks                                 - -|
  1759.  7   |                                                                 (LSB) |
  1760. -----+-----------------------------------------------------------------------|
  1761.  8   | (MSB)                                                                 |
  1762. - - -|- -                Source Logical Block Address                     - -|
  1763. 11   |                                                                 (LSB) |
  1764. -----+-----------------------------------------------------------------------|
  1765. 12   | (MSB)                                                                 |
  1766. - - -|- -                Destination Logical Block Address                - -|
  1767. 15   |                                                                 (LSB) |
  1768. ==============================================================================
  1769.  
  1770.  
  1771.   See 7.2.3.3 for definitions of the source address, the source LUN, the
  1772. destination address, the destination LUN, and CAT fields.
  1773.  
  1774.   A destination count (DC) bit of zero indicates that the number of blocks
  1775. field refers to the source logical unit.  A DC bit of one indicates that the
  1776. number of blocks field refers to the destination logical unit.
  1777.  
  1778.   The number of blocks field specifies the number of blocks to be transferred
  1779. to or from (depending on the DC bit) the device during this segment.  A value
  1780. of zero indicates that no blocks shall be transferred.
  1781.  
  1782.   The source logical block address field specifies the starting logical block
  1783. address on the source device.
  1784.  
  1785.   The destination logical block address field specifies the starting logical
  1786. block address on the destination device.
  1787.  
  1788. 7.2.3.5. COPY Function Code 03h and 08h
  1789.   The format for the segment descriptors for COPY transfers among sequential-
  1790. access devices is specified by Table 7-10 and Table 7-new3.  These formats are
  1791. required for COPY function code 03h and COPY function code 08h, respectively.
  1792. The segment descriptor may be repeated up to 256 times within the parameter
  1793. list length specified in the command descriptor block.
  1794.  
  1795.           Table 7-10: Segment Descriptor for COPY Function Code 03h
  1796.  
  1797. ==============================================================================
  1798.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  1799. Byte |        |        |        |        |        |        |        |        |
  1800. ==============================================================================
  1801.  0   | Source Address           |   DC   |  Cat   | Source LUN               |
  1802. -----+--------------------------+-----------------+--------------------------|
  1803.  1   | Destination Address      |   Reserved      | Destination LUN          |
  1804. -----+-----------------------------------------------------------------------|
  1805.  2   |                              Reserved                                 |
  1806. -----+-----------------------------------------------------------------------|
  1807.  3   |                              Reserved                                 |
  1808. -----+-----------------------------------------------------------------------|
  1809.  4   | (MSB)                                                                 |
  1810. -----+---                        Source Block Length                      ---|
  1811.  5   |                                                                 (LSB) |
  1812. -----+-----------------------------------------------------------------------|
  1813.  6   | (MSB)                                                                 |
  1814. -----+---                        Destination Block Length                 ---|
  1815.  7   |                                                                 (LSB) |
  1816. -----+-----------------------------------------------------------------------|
  1817.  8   | (MSB)                                                                 |
  1818. - - -|- -                        Number of Blocks                         - -|
  1819. 11   |                                                                 (LSB) |
  1820. ==============================================================================
  1821.  
  1822.  
  1823.           Table 7-new3: Segment Descriptor for COPY Function Code 08h
  1824.  
  1825. ==============================================================================
  1826.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  1827. Byte |        |        |        |        |        |        |        |        |
  1828. ==============================================================================
  1829.  0   |                             Source Address                            |
  1830. -----+-----------------------------------------------------------------------|
  1831.  1   |  CAT   |   Reserved                        |        Source LUN        |
  1832. -----+-----------------------------------------------------------------------|
  1833.  2   |                          Destination Address                          |
  1834. -----+-----------------------------------------------------------------------|
  1835.  3   |  DC    |   Reserved                        |     Destination LUN      |
  1836. -----+-----------------------------------------------------------------------|
  1837.  4   |                              Reserved                                 |
  1838. -----+-----------------------------------------------------------------------|
  1839.  4   |                              Reserved                                 |
  1840. -----+-----------------------------------------------------------------------|
  1841.  6   | (MSB)                                                                 |
  1842. -----+---                        Source Block Length                      ---|
  1843.  8   |                                                                 (LSB) |
  1844. -----+-----------------------------------------------------------------------|
  1845.  9   | (MSB)                                                                 |
  1846. -----+---                        Destination Block Length                 ---|
  1847. 11   |                                                                 (LSB) |
  1848. -----+-----------------------------------------------------------------------|
  1849. 12   | (MSB)                                                                 |
  1850. - - -|- -                        Number of Blocks                         - -|
  1851. 15   |                                                                 (LSB) |
  1852. ==============================================================================
  1853.  
  1854.  
  1855.   See 7.2.3.3 for definitions of the source address, the source LUN, the
  1856. destination address, the destination LUN, and CAT fields.
  1857.  
  1858.   A destination count (DC) bit of zero indicates that the number of blocks
  1859. field refers to the source logical unit.  A DC bit of one indicates that the
  1860. number of blocks field refers to the destination logical unit.
  1861.  
  1862.   The source block length field specifies the block-length of the source
  1863. device for this segment of the COPY.  A zero in this field indicates variable
  1864. block-length.  For non-zero values, this field shall match the logical unit's
  1865. actual block-length.
  1866.  
  1867.   If block-length mismatches are detected prior to the beginning of the read
  1868. operation by the SCSI device managing the COPY, the command shall be
  1869. terminated with CHECK CONDITION status.  The sense key shall be set to ILLEGAL
  1870. REQUEST and the additional sense code shall be set to INVALID FIELD IN
  1871. PARAMETER LIST (see 7.2.3.1).
  1872.  
  1873.   If the mismatches are detected during the read operation by the COPY
  1874. manager, the command shall be terminated with CHECK CONDITION status.  The
  1875. sense key shall be set to COPY ABORTED (see 7.2.3.2).  and the additional
  1876. sense code shall be set to INVALID FIELD IN PARAMETER LIST.
  1877.  
  1878.   The destination block-length field specifies the block length to be used on
  1879. the destination logical unit during the COPY.  Destination block length
  1880. mismatches are handled in an analogous manner as source block length
  1881. mismatches.
  1882.  
  1883.   The number of blocks field specifies the number of blocks to be transferred
  1884. to or from (depending on the DC bit) the device during this segment.  A value
  1885. of zero indicates that no blocks shall be transferred.
  1886.  
  1887. 7.2.3.6. COPY Function Code 04h and 09h
  1888.   The format for the segment descriptors for image COPY transfers between
  1889. sequential-access devices is specified in Table 7-11 and Table 7-new4.  These
  1890. formats are required for COPY function code 04h and COPY function code 09h,
  1891. respectively.  The segment descriptor may be repeated up to 256 times within
  1892. the parameter list length specified in the command descriptor block.
  1893.  
  1894.           Table 7-11: Segment Descriptor for COPY Function Code 04h
  1895.  
  1896. ==============================================================================
  1897.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  1898. Byte |        |        |        |        |        |        |        |        |
  1899. ==============================================================================
  1900.  0   | Source Address           |   Reserved      | Source LUN               |
  1901. -----+--------------------------+-----------------+--------------------------|
  1902.  1   | Destination Address      |   Reserved      | Destination LUN          |
  1903. -----+-----------------------------------------------------------------------|
  1904.  2   |                              Count                                    |
  1905. -----+-----------------------------------------------------------------------|
  1906.  3   |                                                                       |
  1907. - - -|- -                           Reserved                              - -|
  1908.  7   |                                                                       |
  1909. -----+-----------------------------------------------------------------------|
  1910.  8   |                                                                       |
  1911. - - -|- -                           Vendor Specific                       - -|
  1912. 11   |                                                                       |
  1913. ==============================================================================
  1914.  
  1915.  
  1916.           Table 7-new4: Segment Descriptor for COPY Function Code 09h
  1917.  
  1918. ==============================================================================
  1919.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  1920. Byte |        |        |        |        |        |        |        |        |
  1921. ==============================================================================
  1922.  0   |                             Source Address                            |
  1923. -----+-----------------------------------------------------------------------|
  1924.  1   |            Reserved                        |        Source LUN        |
  1925. -----+-----------------------------------------------------------------------|
  1926.  2   |                          Destination Address                          |
  1927. -----+-----------------------------------------------------------------------|
  1928.  3   |            Reserved                        |     Destination LUN      |
  1929. -----+-----------------------------------------------------------------------|
  1930.  4   | (MSB)                                                                 |
  1931. - - -|- -                           Count                                 - -|
  1932.  5   |                                                                (LSB)  |
  1933. -----+-----------------------------------------------------------------------|
  1934.  6   |                                                                       |
  1935. - - -|- -                           Reserved                              - -|
  1936.  7   |                                                                       |
  1937. -----+-----------------------------------------------------------------------|
  1938.  8   |                                                                       |
  1939. - - -|- -                           Vendor Specific                       - -|
  1940. 11   |                                                                       |
  1941. ==============================================================================
  1942.  
  1943.  
  1944.   See 7.2.3.3 for definitions of the source address, the source LUN, the
  1945. destination address, the destination LUN, and CAT fields.
  1946.  
  1947.   The image mode COPY command copies an exact image of the source device
  1948. medium to the destination device medium, beginning at their current positions.
  1949. The copy function terminates when the source device:
  1950.   (1) encounters an end-of-partition as defined by the source device
  1951.   (2) encounters an end-of-data as defined by the source device (i.e., BLANK
  1952. CHECK sense key)
  1953.   (3) has copied the number of consecutive filemarks specified in the count
  1954. field from the source device to the destination device
  1955.   (4) has copied the number of consecutive setmarks specified in the count
  1956. field from the source device to the destination device, if the RSmk bit in the
  1957. device configuration page (see 9.3.3.1) is one.
  1958.  
  1959.   A count field of zero indicates that the COPY command shall not terminate
  1960. due to any number of consecutive filemarks or setmarks.  Other error or
  1961. exception conditions (e.g., early-warning end-of-partition on the destination
  1962. device) may cause the COPY command to terminate prior to completion.  In such
  1963. cases, it is not possible to calculate a residue, so the information field in
  1964. the sense data shall be set to zero.
  1965.  
  1966. 7.2.3.7. Copies With Unequal Block Lengths
  1967.   When copying data between two devices with unequal block lengths, it is
  1968. possible for the last source block to not completely fill the last destination
  1969. block for one or more segments in the COPY command.  Two optional bits are
  1970. defined to assist in controlling the copy manager's actions in this
  1971. circumstance.  The Pad bit (in the command descriptor block) and the Cat bit
  1972. (in each applicable segment descriptor) are defined in Table 7-12.
  1973.  
  1974.                     Table 7-12: Pad and Cat Bit Definition
  1975.  
  1976. ==============================================================================
  1977.  Pad Cat   COPY Manager's Action
  1978. ---- ----  -------------------------------------------------------------------
  1979.   0   0    On inexact segments, it is device specific whether the COPY manager
  1980.            rejects the COPY command with CHECK CONDITION status and ILLEGAL
  1981.            REQUEST sense key, the COPY manager writes or accepts short blocks
  1982.            (variable-block mode on sequential-access devices), or the COPY
  1983.            manager adds pad characters (00h) to the destination block or
  1984.            strips pad characters from the source block.
  1985.  
  1986.   1   0    On inexact segments, the COPY manager shall add pad characters
  1987.            (00h) to the destination block to completely fill the block or it
  1988.            shall strip pad characters from the source block, always stopping
  1989.            at the end of a complete block.
  1990.  
  1991.   X   1    The COPY manager shall always write or read complete blocks.  On
  1992.            inexact segments, the remainder of the block contains data from the
  1993.            next segment.  This code is not valid in the last segment of the
  1994.            COPY command.
  1995. ==============================================================================
  1996.  
  1997.  
  1998.   IMPLEMENTORS NOTE:  Use of pad characters is intended to assist in managing
  1999.   COPY commands between devices of different block lengths where partial-block
  2000.   residues may occur.  The initiator which issued the COPY command is
  2001.   responsible for management of these pad areas (i.e., remembering where they
  2002.   are).  One possible method is to write the COPY parameter list information
  2003.   to the destination medium prior to issuing the COPY command for backup and
  2004.   to read this information prior to issuing the COPY command for restore.
  2005.  
  2006. 7.2.5. INQUIRY Command
  2007.  
  2008.  
  2009.                          Table 7-14: INQUIRY Command
  2010.  
  2011. ==============================================================================
  2012.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  2013. Byte |        |        |        |        |        |        |        |        |
  2014. ==============================================================================
  2015.  0   |                           Operation Code (12h)                        |
  2016. -----+-----------------------------------------------------------------------|
  2017.  1   | Logical Unit Number      |                  Reserved         |  EVPD  |
  2018. -----+-----------------------------------------------------------------------|
  2019.  2   |                           Page Code                                   |
  2020. -----+-----------------------------------------------------------------------|
  2021.  3   |                           Reserved                                    |
  2022. -----+-----------------------------------------------------------------------|
  2023.  4   |                           Allocation Length                           |
  2024. -----+-----------------------------------------------------------------------|
  2025.  5   |                           Control                                     |
  2026. ==============================================================================
  2027.  
  2028.  
  2029.   The INQUIRY command (Table 7-14) requests that information regarding
  2030. parameters of the target and its attached peripheral device(s) be sent to the
  2031. initiator.  An option allows the initiator to request additional information
  2032. about the target or logical unit (see 7.2.5.2).
  2033.  
  2034.   An enable vital product data (EVPD) bit of one specifies that the target
  2035. shall return the optional vital product data specified by the page code field.
  2036. If the target does not support vital product data and this bit is set to one,
  2037. the target shall return CHECK CONDITION status with the sense key set to
  2038. ILLEGAL REQUEST and an additional sense code of INVALID FIELD IN CDB.
  2039.  
  2040.   An EVPD bit of zero specifies that the target shall return the standard
  2041. INQUIRY data.  If the page code field is not zero, the target shall return
  2042. CHECK CONDITION status with the sense key set to ILLEGAL REQUEST and an
  2043. additional sense code of INVALID FIELD IN CDB.
  2044.  
  2045.   The page code field specifies which page of vital product data information
  2046. the target shall return (see 7.3.4).
  2047.  
  2048.   The INQUIRY command shall return CHECK CONDITION status only when the target
  2049. cannot return the requested INQUIRY data.
  2050.  
  2051.   IMPLEMENTORS NOTE:  It is recommended that the INQUIRY data be returned even
  2052.   though the peripheral device may not be ready for other commands.
  2053.  
  2054.   If an INQUIRY command is received from an initiator with a pending unit
  2055. attention condition (i.e., before the target reports CHECK CONDITION status),
  2056. the target shall perform the INQUIRY command and shall not clear the unit
  2057. attention condition (see 6.9).
  2058.  
  2059.   IMPLEMENTORS NOTES:
  2060.   (1) The INQUIRY command is typically used by the initiator after a reset or
  2061.   power-up condition to determine the device types for system configuration.
  2062.   To minimize delays after a reset or power-up condition the standard INQUIRY
  2063.   data should be available without incurring any media access delays.  If the
  2064.   target does store some of the INQUIRY data on the device it may return zeros
  2065.   or ASCII spaces (20h) in those fields until the data is available from the
  2066.   device.
  2067.   (2) The INQUIRY data may change as the target executes its initialization
  2068.   sequence or in response to a CHANGE DEFINITION command.  For example, the
  2069.   target may contain a minimum command set in its non-volatile memory and may
  2070.   load its final firmware from the device when it becomes ready.  After it has
  2071.   loaded the firmware it may support more options and therefore return
  2072.   different supported options information in the INQUIRY data.
  2073.  
  2074. 7.2.5.1. Standard INQUIRY Data
  2075.   The standard INQUIRY data (Table 7-15) contains 36 required bytes, followed
  2076. by a variable number of vendor-specific parameters.  Bytes 56 through 95, if
  2077. returned, are reserved for future standardization.
  2078.  
  2079.   The standard INQUIRY data format is shown in Table 7-15.
  2080.                    Table 7-15: Standard INQUIRY Data Format
  2081.  
  2082. ==============================================================================
  2083.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  2084. Byte |        |        |        |        |        |        |        |        |
  2085. ==============================================================================
  2086.  0   | Peripheral Qualifier     |           Peripheral Device Type           |
  2087. -----+-----------------------------------------------------------------------|
  2088.  1   |  RMB   |                  Device-Type Modifier                        |
  2089. -----+-----------------------------------------------------------------------|
  2090.  2   |   ISO Version   |       ECMA Version       |  ANSI-Approved Version   |
  2091. -----+-----------------+-----------------------------------------------------|
  2092.  3   |  AENC  | TrmIOP |     Reserved    |         Response Data Format      |
  2093. -----+-----------------------------------------------------------------------|
  2094.  4   |                           Additional Length (n-4)                     |
  2095. -----+-----------------------------------------------------------------------|
  2096.  5   |                           Reserved                                    |
  2097. -----+-----------------------------------------------------------------------|
  2098.  6   |                           Reserved                  | Addr32 | Addr16 |
  2099. -----+-----------------------------------------------------+--------+--------|
  2100.  7   | RelAdr | WBus32 | WBus16 |  Sync  | Linked |Reserved| CmdQue | SftRe  |
  2101. -----+-----------------------------------------------------------------------|
  2102.  8   | (MSB)                                                                 |
  2103. - - -|- -                        Vendor Identification                    - -|
  2104.  15  |                                                                 (LSB) |
  2105. -----+-----------------------------------------------------------------------|
  2106.  16  | (MSB)                                                                 |
  2107. - - -|- -                        Product Identification                   - -|
  2108.  31  |                                                                 (LSB) |
  2109. -----+-----------------------------------------------------------------------|
  2110.  32  | (MSB)                                                                 |
  2111. - - -|- -                        Product Revision Level                   - -|
  2112.  35  |                                                                 (LSB) |
  2113. -----+-----------------------------------------------------------------------|
  2114.  36  |                                                                       |
  2115. - - -|- -                        Vendor Specific                          - -|
  2116.  55  |                                                                       |
  2117. -----+-----------------------------------------------------------------------|
  2118.  56  |                                                                       |
  2119. - - -|- -                        Reserved                                 - -|
  2120.  95  |                                                                       |
  2121. ==============================================================================
  2122.      |                       Vendor-Specific Parameters                      |
  2123. ==============================================================================
  2124. 96 to|                           Vendor-Specific                             |
  2125.  n   |                           Parameter Bytes                             |
  2126. ==============================================================================
  2127.  
  2128.  
  2129.   The peripheral qualifier and peripheral device-type fields identify the
  2130. device currently connected to the logical unit.  If the target is not capable
  2131. of supporting a device on this logical unit, this field shall be set to 7Fh
  2132. (peripheral qualifier set to 011b and peripheral device type set to 1Fh).  The
  2133. peripheral qualifier is defined in Table 7-16 and the peripheral device type
  2134. is defined in Table 7-17.
  2135.  
  2136.                        Table 7-16: Peripheral Qualifier
  2137.  
  2138. ==============================================================================
  2139. Qualifier     Description
  2140. ---------     ----------------------------------------------------------------
  2141.   000b        The specified peripheral device type is currently connected to
  2142.               this logical unit.  If the target cannot determine whether or
  2143.               not a physical device is currently connected it shall also use
  2144.               this peripheral qualifier when returning the INQUIRY data.
  2145.               Note: This peripheral qualifier does not imply that the device
  2146.               is ready for access by the initiator.
  2147.  
  2148.   001b        The target is capable of supporting the specified peripheral
  2149.               device type on this logical unit, however the physical device is
  2150.               not currently connected to this logical unit.
  2151.  
  2152.   010b        Reserved
  2153.  
  2154.   011b        The target is not capable of supporting a physical device on
  2155.               this logical unit.  For this peripheral qualifier the peripheral
  2156.               device type shall be set to 1Fh to provide compatibility with
  2157.               previous versions of SCSI.  All other peripheral device type
  2158.               values are reserved for this peripheral qualifier.
  2159.  
  2160.   1XXb        Vendor specific
  2161. ==============================================================================
  2162.  
  2163.  
  2164.                       Table 7-17: Peripheral Device Type
  2165.  
  2166. ==============================================================================
  2167.   Code         Description
  2168. -----------    ---------------------------------------------------------------
  2169.   00h          Direct-access device (e.g., magnetic disk)
  2170.   01h          Sequential-access device (e.g., magnetic tape)
  2171.   02h          Printer device
  2172.   03h          Processor device
  2173.   04h          Write-once read-multiple device (e.g., some optical disks)
  2174.   05h          CD-ROM device
  2175.   06h          Scanner device
  2176.   07h          Optical memory device (e.g., some optical disks)
  2177.   08h          Medium Changer device (e.g., jukeboxes)
  2178.   09h          Communications device
  2179.   0Ah - 0Bh    Defined by ASC IT8 (Graphics Pre-Press Devices)
  2180.   0Ch - 1Eh    Reserved
  2181.   1Fh          Unknown or no device type
  2182. ==============================================================================
  2183.  
  2184.  
  2185.   A removable medium (RMB) bit of zero indicates that the medium is not
  2186. removable.  A RMB bit of one indicates that the medium is removable.
  2187.  
  2188.   The device-type modifier field was defined in SCSI-1 to permit vendor-
  2189. specific qualification codes of the device type.  This field is retained for
  2190. compatibility with SCSI-1.  Targets that do not support this field should
  2191. return a value of zero.
  2192.  
  2193.   The usage of non-zero code values in the ISO version and ECMA version fields
  2194. are defined by the International Organization for Standardization and the
  2195. European Computer Manufacturers Association, respectively.  A zero code value
  2196. in these fields shall indicate that the target does not claim compliance to
  2197. the ISO version of SCSI (ISO IS 9316) or the ECMA version of SCSI (ECMA-111).
  2198. It is possible to claim compliance to more than one of these SCSI standards.
  2199.  
  2200.   The ANSI-approved version field indicates the implemented version of this
  2201. standard and is defined in Table 7-18.
  2202.  
  2203.                       Table 7-18: ANSI-Approved Version
  2204.  
  2205. ==============================================================================
  2206.   Code        Description
  2207. ------------------------------------------------------------------------------
  2208.    0h      The device might or might not comply to an ANSI-approved standard.
  2209.    1h      The device complies to ANSI X3.131-1986 (SCSI-1).
  2210.    2h      The device complies to this version of SCSI.  This code is reserved
  2211.            to designate this standard upon approval by ANSI.
  2212.    3h - 7h   Reserved
  2213. ==============================================================================
  2214.  
  2215.  
  2216.   The asynchronous event notification capability (AENC) bit indicates that the
  2217. device supports the asynchronous event notification capability as defined in
  2218. 6.5.5.
  2219.   (1) Processor device-type definition:  An AENC bit of one indicates that the
  2220.   processor device is capable of accepting asynchronous event notifications.
  2221.   An AENC bit of zero indicates that the processor device does not support
  2222.   asynchronous event notifications.
  2223.   (2) All other device-types:  This bit is reserved.
  2224.  
  2225.   A terminate I/O process (TrmIOP) bit of one indicates that the device
  2226. supports the TERMINATE I/O PROCESS message as defined in 5.6.22.  A value of
  2227. zero indicates that the device does not support the TERMINATE I/O PROCESS
  2228. message.
  2229.  
  2230.   A response data format value of zero indicates the INQUIRY data format is as
  2231. specified in SCSI-1.  A response data format value of one indicates
  2232. compatibility with some products that were designed prior to the development
  2233. of this standard (i.e., CCS).  A response data format value of two indicates
  2234. that the data shall be in the format specified in this standard.  Response
  2235. data format values greater than two are reserved.
  2236.  
  2237.   The additional length field shall specify the length in bytes of the
  2238. parameters.  If the allocation length of the command descriptor block is too
  2239. small to transfer all of the parameters, the additional length shall not be
  2240. adjusted to reflect the truncation.
  2241.  
  2242.   A wide SCSI address 32 (Addr32) bit of one indicates that the device supports
  2243. 32-bit wide SCSI addresses.  A value of zero indicates that the device does not
  2244. support 32-bit wide SCSI addresses.
  2245.  
  2246.   A wide SCSI address 16 (Addr16) bit of one indicates that the device supports
  2247. 16-bit wide SCSI addresses.  A value of zero indicates that the device does not
  2248. support 16-bit wide SCSI addresses.
  2249.  
  2250.         NOTE:  If the values of both the Addr16 and Addr32 bits are zero
  2251.         the device only supports 8-bit wide SCSI addresses.
  2252.  
  2253.  
  2254.   A relative addressing (RelAdr) bit of one indicates that the device supports
  2255. the relative addressing mode for this logical unit.  If this bit is set to one
  2256. the linked command (Linked) bit shall also be set to one since relative
  2257. addressing can only be used with linked commands.  A RelAdr bit of zero
  2258. indicates the device does not support relative addressing for this logical
  2259. unit.
  2260.  
  2261.   A wide bus 32 (WBus32) bit of one indicates that the device supports 32-bit
  2262. wide data transfers.  A value of zero indicates that the device does not
  2263. support 32-bit wide data transfers.
  2264.  
  2265.   A wide bus 16 (WBus16) bit of one indicates that the device supports 16-bit
  2266. wide data transfers.  A value of zero indicates that the device does not
  2267. support 16-bit wide data transfers.
  2268.  
  2269.   NOTE: If the values of both the WBus16 and WBus32 bits are zero the device
  2270.   only supports 8-bit wide data transfers.
  2271.  
  2272.   A synchronous transfer (Sync) bit of one indicates that the device supports
  2273. synchronous data transfer.  A value of zero indicates the device does not
  2274. support synchronous data transfer.
  2275.  
  2276.   A linked command (Linked) bit of one indicates that the device supports
  2277. linked commands for this logical unit.  A value of zero indicates the device
  2278. does not support linked commands for this logical unit.
  2279.  
  2280.   A command queuing (CmdQue) bit of one indicates that the device supports
  2281. tagged command queuing for this logical unit.  A value of zero indicates the
  2282. device does not support tagged command queuing for this logical unit.
  2283.  
  2284.   A soft reset (SftRe) bit of zero indicates that the device responds to the
  2285. RESET condition with the hard RESET alternative (see 5.2.2.1).  A SftRe bit of
  2286. one indicates that the device responds to the RESET condition with the soft
  2287. RESET alternative (see 5.2.2.2).
  2288.  
  2289.   ASCII data fields shall contain only graphic codes (i.e., code values 20h
  2290. through 7Eh).  Left-aligned fields shall place any unused bytes at the end of
  2291. the field (highest offset) and the unused bytes shall be filled with space
  2292. characters (20h).  Right-aligned fields shall place any unused bytes at the
  2293. start of the field (lowest offset) and the unused bytes shall be filled with
  2294. space characters (20h).
  2295.  
  2296.   The vendor identification field contains eight bytes of ASCII data
  2297. identifying the vendor of the product.  The data shall be left aligned within
  2298. this field.
  2299.  
  2300.   NOTE:  It is intended that this field provide a unique vendor identification
  2301.   of the manufacturer of the SCSI device.  In the absence of a formal
  2302.   registration procedure, X3T9.2 maintains a list of vendor identification
  2303.   codes in use.  Vendors are requested to voluntarily submit their
  2304.   identification codes to X3T9.2 to prevent duplication of codes (see Appendix
  2305.   J).
  2306.  
  2307.   The product identification field contains sixteen bytes of ASCII data as
  2308. defined by the vendor.  The data shall be left-aligned within this field.
  2309.  
  2310.   The product revision level field contains four bytes of ASCII data as
  2311. defined by the vendor.  The data shall be left-aligned within this field.
  2312.  
  2313. 7.2.5.2. Vital Product Data
  2314.   Implementation of vital product data is optional.  The information returned
  2315. consists of configuration data (e.g., vendor identification, product
  2316. identification, model, serial number), manufacturing data (e.g., plant and
  2317. date of manufacture), field replaceable unit data and other vendor- or device-
  2318. specific data.
  2319.  
  2320.   The initiator requests the vital product data information by setting the
  2321. EVPD bit to one and specifying the page code of the desired vital product data
  2322. (see Table 7-72).  If the target does not implement the requested page it
  2323. shall return CHECK CONDITION status.  The a sense key shall be set to ILLEGAL
  2324. REQUEST and the additional sense code shall be set to INVALID FIELD IN CDB.
  2325.  
  2326.   IMPLEMENTORS NOTES:
  2327.   (1) It is recommended that the target have the ability to execute the
  2328.   INQUIRY command even when a device error occurs which prohibits normal
  2329.   command execution.  In such a case, CHECK CONDITION status would be returned
  2330.   for commands other than INQUIRY or REQUEST SENSE.  The sense data returned
  2331.   may contain the field replaceable unit code.  The vital product data would
  2332.   be obtained for the failing device using the INQUIRY command.
  2333.   (2) This standard defines a format which allows device-independent initiator
  2334.   software to display the vital product data returned by the INQUIRY command.
  2335.   For example, the initiator may display the data associated for the field
  2336.   replaceable unit returned in the sense data.  The contents of the data may
  2337.   be vendor-specific; therefore it may not be usable without detailed
  2338.   information about the device.
  2339.   (3) This standard does not define the location or method of storing the
  2340.   vital product data.  The retrieval of the data may require completion of
  2341.   initialization operations within the device which may induce delays before
  2342.   the data is available to the initiator.  Time-critical requirements are an
  2343.   implementation consideration and are not addressed in this standard.
  2344.  
  2345. 8. Direct-Access Devices.
  2346.  
  2347. 8.2. Commands for Direct-Access Devices.
  2348.  
  2349.   The commands for direct-access devices shall be as shown in Tables 8-1 and
  2350. 8-2.
  2351.  
  2352.               Table 8-1: Commands for Direct-Access Devices(1)
  2353.  
  2354. ==============================================================================
  2355.                                             Operation
  2356.  Command Name                                 Code      Type         Section
  2357. ------------------------------------------------------------------------------
  2358.  CHANGE DEFINITION                             40h       O           7.2.1
  2359.  COMPARE                                       39h       O           7.2.2
  2360.  COPY                                          18h       O           7.2.3
  2361.  COPY AND VERIFY                               3Ah       O           7.2.4
  2362.  FORMAT UNIT                                   04h       M           8.2.1
  2363.  INQUIRY                                       12h       M           7.2.5
  2364.  LOCK/UNLOCK CACHE                             36h       O           8.2.2
  2365.  LOG SELECT                                    4Ch       O           7.2.6
  2366.  LOG SENSE                                     4Dh       O           7.2.7
  2367.  MODE SELECT(6)                                15h       O           7.2.8
  2368.  MODE SELECT(10)                               55h       O           7.2.9
  2369.  MODE SENSE(6)                                 1Ah       O           7.2.10
  2370.  MODE SENSE(10)                                5Ah       O           7.2.11
  2371.  PRE-FETCH                                     34h       O           8.2.3
  2372.  PREVENT/ALLOW MEDIUM REMOVAL                  1Eh       O           8.2.4
  2373.  READ(6)                                       08h       M           8.2.5
  2374.  READ(10)                                      28h       M           8.2.6
  2375.  READ BUFFER                                   3Ch       O           7.2.12
  2376.  READ CAPACITY                                 25h       M           8.2.7
  2377.  READ DEFECT DATA                              37h       O           8.2.8
  2378.  READ LONG                                     3Eh       O           8.2.9
  2379.  REASSIGN BLOCKS                               07h       O           8.2.10
  2380.  RECEIVE DIAGNOSTIC RESULTS                    1Ch       O           7.2.13
  2381.  RELEASE(6)                                    17h       M           8.2.11
  2382.  RELEASE(10)                                   57h       MP          8.2.11
  2383.  REQUEST SENSE                                 03h       M           7.2.14
  2384.  RESERVE(6)                                    16h       M           8.2.12
  2385.  RESERVE(10)                                   56h       MP          8.2.12
  2386.  REZERO UNIT                                   01h       O           8.2.13
  2387. ==============================================================================
  2388.  
  2389.   Key: M  =  Command implementation is mandatory.
  2390.        MP =  Command implementation is mandatory on any device that addresses
  2391.              more than 8 devices.
  2392.        O  =  Command implementation is optional.
  2393.  
  2394.               Table 8-2: Commands for Direct-Access Devices(2)
  2395.  
  2396. ==============================================================================
  2397.                                            Operation
  2398. Command Name                                 Code      Type         Section
  2399. ------------------------------------------------------------------------------
  2400. SEARCH DATA EQUAL                             31h       O           8.2.14.1
  2401. SEARCH DATA HIGH                              30h       O           8.2.14.2
  2402. SEARCH DATA LOW                               32h       O           8.2.14.3
  2403. SEEK(6)                                       0Bh       O           8.2.15
  2404. SEEK(10)                                      2Bh       O           8.2.15
  2405. SEND DIAGNOSTIC                               1Dh       M           7.2.15
  2406. SET LIMITS                                    33h       O           8.2.16
  2407. START STOP UNIT                               1Bh       O           8.2.17
  2408. SYNCHRONIZE CACHE                             35h       O           8.2.18
  2409. TEST UNIT READY                               00h       M           7.2.16
  2410. VERIFY                                        2Fh       O           8.2.19
  2411. WRITE(6)                                      0Ah       M           8.2.20
  2412. WRITE(10)                                     2Ah       M           8.2.21
  2413. WRITE AND VERIFY                              2Eh       O           8.2.22
  2414. WRITE BUFFER                                  3Bh       O           7.2.17
  2415. WRITE LONG                                    3Fh       O           8.2.23
  2416. WRITE SAME                                    41h       O           8.2.24
  2417. ==============================================================================
  2418.  
  2419.    Key: M  =  Command implementation is mandatory.
  2420.         MP =  Command implementation is mandatory on any device that addresses
  2421.               more than 8 devices.
  2422.         O  =  Command implementation is optional.
  2423.  
  2424.              The following operation codes are vendor-specific:  02h, 05h,
  2425.          06h, 09h, 0Ch, 0Dh, 0Eh, 0Fh, 10h, 11h, 13h, 14h, 19h, 20h, 21h,
  2426.          22h, 23h, 24h, 26h, 27h, 29h, 2Ch, 2Dh and C0h through FFh.  All
  2427.          remaining operation codes are reserved for future standardization.
  2428.  
  2429. 8.2.11. RELEASE(6) and RELEASE(10) Commands
  2430.  
  2431.  
  2432.                          Table 8-23: RELEASE(6) Command
  2433.  
  2434. ==============================================================================
  2435.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  2436. Byte |        |        |        |        |        |        |        |        |
  2437. ==============================================================================
  2438.  0   |                           Operation Code (17h)                        |
  2439. -----+-----------------------------------------------------------------------|
  2440.  1   | Logical Unit Number      | 3rdPty | Third Party Device ID    | Extent |
  2441. -----+-----------------------------------------------------------------------|
  2442.  2   |                           Reservation Identification                  |
  2443. -----+-----------------------------------------------------------------------|
  2444.  3   |                           Reserved                                    |
  2445. -----+-----------------------------------------------------------------------|
  2446.  4   |                           Reserved                                    |
  2447. -----+-----------------------------------------------------------------------|
  2448.  5   |                           Control                                     |
  2449. ==============================================================================
  2450.  
  2451.  
  2452.                          Table 8-new1: RELEASE(10) Command
  2453.  
  2454. ==============================================================================
  2455.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  2456. Byte |        |        |        |        |        |        |        |        |
  2457. ==============================================================================
  2458.  0   |                           Operation Code (57h)                        |
  2459. -----+-----------------------------------------------------------------------|
  2460.  1   | Logical Unit Number      | 3rdPty |        Reserved          | Extent |
  2461. -----+-----------------------------------------------------------------------|
  2462.  2   |                           Reservation Identification                  |
  2463. -----+-----------------------------------------------------------------------|
  2464.  3   |                           Third Party Device ID                       |
  2465. -----+-----------------------------------------------------------------------|
  2466.  4   |                           Reserved                                    |
  2467. -----+-----------------------------------------------------------------------|
  2468.  5   |                           Reserved                                    |
  2469. -----+-----------------------------------------------------------------------|
  2470.  6   |                           Reserved                                    |
  2471. -----+-----------------------------------------------------------------------|
  2472.  7   |                           Reserved                                    |
  2473. -----+-----------------------------------------------------------------------|
  2474.  8   |                           Reserved                                    |
  2475. -----+-----------------------------------------------------------------------|
  2476.  9   |                           Control Byte                                |
  2477. ==============================================================================
  2478.  
  2479.  
  2480.   The RESERVE and RELEASE commands provide the basic mechanism for contention
  2481. resolution in multiple-initiator systems.  The RELEASE command (Table 8-23) is
  2482. used to release a previously reserved logical unit, or, if the extent release
  2483. option is implemented, to release previously reserved extents within a logical
  2484. unit.  It is not an error for an initiator to attempt to release a reservation
  2485. that is not currently valid.  In this case, the target returns GOOD status
  2486. without altering any other reservation.
  2487.  
  2488. 8.2.11.1. Logical Unit Release (Mandatory)
  2489.   If the extent bit is zero, this command shall cause the target to terminate
  2490. all logical unit and extent reservations that are active from the initiator to
  2491. the specified logical unit.  The reservation ID field in the command
  2492. descriptor block is ignored by the target.
  2493.  
  2494. 8.2.11.2. Extent Release (Optional)
  2495.   If the extent bit is one and the extent release option is not implemented,
  2496. then the RELEASE command shall be terminated with CHECK CONDITION status and
  2497. the sense key shall be set to ILLEGAL REQUEST.  This option shall be
  2498. implemented if the extent reservation option (see 8.2.12.2) is implemented.
  2499.  
  2500.   If the extent bit is one and the extent release option is implemented, this
  2501. command shall cause any reservation from the requesting initiator with a
  2502. matching reservation identification to be terminated.  Other reservations from
  2503. the requesting initiator shall remain in effect.
  2504.  
  2505. 8.2.11.3. Third-Party Release (Mandatory)
  2506.   Third-party release allows an initiator to release a logical unit or extents
  2507. within a logical unit that were previously reserved using third-party
  2508. reservation (see 8.2.12.3).  Third-party release shall be implemented and is
  2509. intended for use in multiple-initiator systems that use the COPY command.
  2510.  
  2511.   If the third-party (3rdPty) bit is zero, then a third-party release is not
  2512. requested.  If the 3rdPty bit is one then the target shall release the
  2513. specified logical unit or extents, but only if the reservation was made using
  2514. a third-party reservation by the initiator that is requesting the release for
  2515. the same SCSI device as specified in the third-party device ID field.
  2516.  
  2517.   If the 3rdPty bit is one the target shall not modify the mode parameters for
  2518. commands received from the third-party device even if the target implements
  2519. the transfer of mode parameters with a third-party RESERVE command.
  2520.  
  2521.   IMPLEMENTORS NOTE:  If a target implements independent storage of mode
  2522.   parameters for each initiator, a third-party RESERVE command copies the
  2523.   current mode parameters for the initiator that sent the RESERVE command to
  2524.   the current mode parameters for the initiator specified as the third-party
  2525.   device (usually a copy master device).  A unit attention condition notifies
  2526.   the third-party of the changed mode parameters due to the the reservation.
  2527.   A successful third-party RELEASE command  does not return the third-party
  2528.   devices' current mode parameters back to their previous values.  The third-
  2529.   party device can issue MODE SENSE and MODE SELECT commands to query and
  2530.   modify the mode parameters.
  2531.  
  2532. 8.2.12. RESERVE(6) and RESERVE(10) Commands
  2533.  
  2534.  
  2535.                          Table 8-24: RESERVE Command
  2536.  
  2537. ==============================================================================
  2538.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  2539. Byte |        |        |        |        |        |        |        |        |
  2540. ==============================================================================
  2541.  0   |                           Operation Code (16h)                        |
  2542. -----+-----------------------------------------------------------------------|
  2543.  1   | Logical Unit Number      | 3rdPty | Third Party Device ID    | Extent |
  2544. -----+-----------------------------------------------------------------------|
  2545.  2   |                           Reservation Identification                  |
  2546. -----+-----------------------------------------------------------------------|
  2547.  3   | (MSB)                                                                 |
  2548. -----+---                        Extent List Length                       ---|
  2549.  4   |                                                                 (LSB) |
  2550. -----+-----------------------------------------------------------------------|
  2551.  5   |                           Control                                     |
  2552. ==============================================================================
  2553.  
  2554.  
  2555.                          Table 8-new2: RESERVE(10) Command
  2556.  
  2557. ==============================================================================
  2558.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  2559. Byte |        |        |        |        |        |        |        |        |
  2560. ==============================================================================
  2561.  0   |                           Operation Code (16h)                        |
  2562. -----+-----------------------------------------------------------------------|
  2563.  1   | Logical Unit Number      | 3rdPty |        Reserved          | Extent |
  2564. -----+-----------------------------------------------------------------------|
  2565.  2   |                           Reservation Identification                  |
  2566. -----+-----------------------------------------------------------------------|
  2567.  3   |                           Third Party Device ID                       |
  2568. -----+-----------------------------------------------------------------------|
  2569.  4   |                           Reserved                                    |
  2570. -----+-----------------------------------------------------------------------|
  2571.  5   |                           Reserved                                    |
  2572. -----+-----------------------------------------------------------------------|
  2573.  6   |                           Reserved                                    |
  2574. -----+-----------------------------------------------------------------------|
  2575.  7   | (MSB)                                                                 |
  2576. -----+---                        Extent List Length                       ---|
  2577.  8   |                                                                 (LSB) |
  2578. -----+-----------------------------------------------------------------------|
  2579.  9   |                           Control Byte                                |
  2580. ==============================================================================
  2581.  
  2582.  
  2583.   The RESERVE and RELEASE commands provide the basic mechanism for contention
  2584. resolution in multiple-initiator systems.  The RESERVE command (Table 8-24) is
  2585. used to reserve a logical unit or, if the extent reservation option is
  2586. implemented, extents within a logical unit.  The third-party reservation
  2587. allows logical units or extents to be reserved for another specified SCSI
  2588. device.
  2589.  
  2590. 8.2.12.1. Logical Unit Reservation (Mandatory).
  2591.  
  2592.   If the extent bit is zero, this command shall request that the entire
  2593. logical unit be reserved for the exclusive use of the initiator until the
  2594. reservation is superseded by another valid RESERVE command from the initiator
  2595. that made the reservation or until released by a RELEASE command from the same
  2596. initiator that made the reservation, by a BUS DEVICE RESET message from any
  2597. initiator, by a hard RESET condition, or by a power on cycle.  A logical unit
  2598. reservation shall not be granted if the logical unit or any extent is reserved
  2599. by another initiator.  It shall be permissible for an initiator to reserve a
  2600. logical unit that is currently reserved by that initiator.  If the extent bit
  2601. is zero, the reservation identification and the extent list length shall be
  2602. ignored.
  2603.  
  2604.   If the logical unit, or any extent within the logical unit is reserved for
  2605. another initiator, the target shall return RESERVATION CONFLICT status.
  2606.  
  2607.   If, after honoring the reservation, any other initiator attempts to perform
  2608. any command on the reserved logical unit other than an INQUIRY command, a
  2609. REQUEST SENSE command, an ALLOW MEDIUM REMOVAL, or a RELEASE command, which
  2610. shall be ignored, then the command shall be rejected with RESERVATION CONFLICT
  2611. status.
  2612.  
  2613. 8.2.12.2. Extent Reservation (Optional)
  2614.   The reservation identification field provides a means for an initiator to
  2615. identify each extent reservation.  This allows an initiator in a multiple
  2616. tasking environment, to have multiple reservations outstanding.  The
  2617. reservation identification is used in the RELEASE command to specify which
  2618. reservation is to be released.  It is also used in superseding RESERVE
  2619. commands to specify which reservation is to be superseded.
  2620.  
  2621.   If the extent reservation option is implemented, then the extent release
  2622. option (see 8.2.11.2) shall also be implemented.  These options permit
  2623. multiple extents within the logical unit to be reserved, each with a separate
  2624. reservation type.
  2625.  
  2626.   If the extent bit is one, and the extent reservation option is implemented,
  2627. then the target shall process the reservation request as follows:
  2628.   (1) The extent list shall be checked for the number of extents in the
  2629. reservation request.  If the extent list length is zero, no current
  2630. reservations shall be changed, no new reservations shall be created, and this
  2631. condition shall not be treated as an error.  If the extent list contains more
  2632. extents than are supported on the logical unit, the command shall be
  2633. terminated with CHECK CONDITION status and the sense key shall be set to
  2634. ILLEGAL REQUEST.  If the extent list contains more extents than are currently
  2635. available on the logical unit, then the target shall return a RESERVATION
  2636. CONFLICT status.
  2637.   (2) The extent list shall be checked for valid extent logical block
  2638. addresses.  If any logical block address is invalid for this logical unit, the
  2639. command shall be terminated with CHECK CONDITION status and the sense key
  2640. shall be set to ILLEGAL REQUEST.  The extent list shall be checked for invalid
  2641. extent overlaps (as defined by reservation type) with other extent descriptors
  2642. in the extent list and if invalid overlaps are found, the command shall be
  2643. terminated with CHECK CONDITION status and the sense key shall be set to
  2644. ILLEGAL REQUEST.
  2645.   (3) If the requested reservation does not conflict with an existing
  2646. reservation, the extents specified shall be reserved until superseded by
  2647. another valid RESERVE command from the initiator that made the reservation or
  2648. until released by a RELEASE command from the same initiator, by a BUS DEVICE
  2649. RESET message from any initiator, or by a hard RESET condition.  If either of
  2650. the last two conditions occur, the next command from each initiator shall be
  2651. terminated with CHECK CONDITION status and the sense key shall be set to UNIT
  2652. ATTENTION.
  2653.   (4) If the reservation request conflicts with an existing reservation, then
  2654. the target shall return a RESERVATION CONFLICT status.
  2655.  
  2656.   If the extent bit is one, and the extent reservation option is not
  2657. implemented, then the RESERVE command shall be rejected with CHECK CONDITION
  2658. status and the sense key shall be set to ILLEGAL REQUEST.
  2659.  
  2660.                 Table 8-25: Data Format of Extent Descriptors
  2661.  
  2662. ==============================================================================
  2663.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  2664. Byte |        |        |        |        |        |        |        |        |
  2665. ==============================================================================
  2666.  0   |               Reserved                     | RelAdr | Reservation Type|
  2667. -----+-----------------------------------------------------------------------|
  2668.  1   | (MSB)                                                                 |
  2669. - - -|- -                        Number of Blocks                         - -|
  2670.  3   |                                                                 (LSB) |
  2671. -----+-----------------------------------------------------------------------|
  2672.  4   | (MSB)                                                                 |
  2673. - - -|- -                        Logical Block Address                    - -|
  2674.  7   |                                                                 (LSB) |
  2675. ==============================================================================
  2676.  
  2677.   The size of the extent list shall be defined by the extent list length
  2678. field.  The extent list shall consist of zero or more descriptors as shown in
  2679. Table 8-25.  Each extent descriptor defines an extent beginning at the
  2680. specified logical block address for the specified number of blocks.  If the
  2681. number of blocks is zero, the extent shall begin at the specified logical
  2682. block address and continue through the last logical block address on the
  2683. logical unit.
  2684.  
  2685.   The reservation type field shall determine the type of reservation to be
  2686. effected for each extent.  Four types of reservations are possible as follows:
  2687.  
  2688.                         DB(1) DB(0)  Reservation Type
  2689.                         ----- -----  ----------------
  2690.                           1     0    Read Exclusive
  2691.                           0     1    Write Exclusive
  2692.                           1     1    Exclusive Access
  2693.                           0     0    Read Shared
  2694.  
  2695.   Read Exclusive.  While this reservation is active, no other initiator shall
  2696. be permitted read operations to the indicated extent.  This reservation shall
  2697. not inhibit write operations from any initiator or conflict with a write
  2698. exclusive reservation; however, read exclusive, exclusive access, and read
  2699. shared reservations that overlap this extent shall conflict with this
  2700. reservation.
  2701.  
  2702.   Write Exclusive.  While this reservation is active, no other initiator shall
  2703. be permitted write operations to the indicated extent.  This reservation shall
  2704. not inhibit read operations from any initiator or conflict with a read
  2705. exclusive reservation from any initiator.  This reservation shall conflict
  2706. with write exclusive, exclusive access, and read shared reservations that
  2707. overlap this extent.
  2708.  
  2709.   Exclusive Access.  While this reservation is active, no other initiator
  2710. shall be permitted any access to the indicated extent.  All reservation types
  2711. that overlap this extent shall conflict with this reservation.
  2712.  
  2713.   Read Shared.  While this reservation is active, no write operations shall be
  2714. permitted by any initiator to the indicated extent.  This reservation shall
  2715. not inhibit read operations from any initiator or conflict with a read shared
  2716. reservation.  Read exclusive, write exclusive, and exclusive access
  2717. reservations that overlap with this extent shall conflict with this
  2718. reservation.
  2719.  
  2720.   If the relative address bit is one, the logical block address in the extent
  2721. descriptor shall be treated as a two's complement displacement.  This
  2722. displacement shall be added to the logical block address last accessed on the
  2723. logical unit to form the logical block address for this extent.  This feature
  2724. is only available when linking commands and requires that a previous command
  2725. in the linked group has accessed a logical block on the logical unit; if not,
  2726. the RESERVE command shall be terminated with CHECK CONDITION status and the
  2727. sense key shall be set to ILLEGAL REQUEST.
  2728.  
  2729.   If an initiator attempts a command to a logical block that has been reserved
  2730. and that access is prohibited by the reservation, the command shall not be
  2731. performed and the command shall be terminated with a RESERVATION CONFLICT
  2732. status.  If a reservation conflict precludes any part of the command, none of
  2733. the command shall be performed.  COPY commands shall be terminated with CHECK
  2734. CONDITION status and the sense key shall be set to DATA PROTECT if any part of
  2735. the copy operation is prohibited by an active reservation.  If any extent in a
  2736. logical unit is reserved in any way, by any initiator, a FORMAT UNIT command
  2737. shall be rejected with a RESERVATION CONFLICT status.
  2738.  
  2739. 8.2.12.3. Third Party Reservation (Mandatory).
  2740.   The third-party reservation for the RESERVE command allows an initiator to
  2741. reserve a logical unit or extents within a logical unit for another SCSI
  2742. device.  This is intended for use in multiple-initiator systems that use the
  2743. COPY command.  Third-party reservation is required.
  2744.  
  2745.   If the third-party (3rdPty) bit is zero, then a third-party reservation is
  2746. not requested.  If the 3rdPty bit is one then the target shall reserve the
  2747. specified logical unit or extents for the SCSI device specified in the third-
  2748. party device ID field.  The target shall preserve the reservation until it is
  2749. superseded by another valid RESERVE command from the initiator that made the
  2750. reservation or until it is released by the same initiator, by a BUS DEVICE
  2751. reset message from any initiator, or a hard reset condition.  The target shall
  2752. ignore any attempt to release the reservation made by any other initiator.
  2753.  
  2754.   If independent sets of parameters are implemented, a third party reservation
  2755. shall cause the target to transfer the set of parameters in effect for the
  2756. initiator of the RESERVE command to the parameters used for commands from the
  2757. third party device.  Any subsequent command issued by the third-party device
  2758. is executed according to the mode parameters in effect for the initiator that
  2759. sent the RESERVE command.
  2760.  
  2761.   IMPLEMENTORS NOTE:  This transfer of the mode parameters is applicable to
  2762.   target devices which store mode information independently for different
  2763.   initiators.  This mechanism allows an initiator to set the mode parameters
  2764.   of a target for the use of a copy master (i.e., the third-party device).
  2765.   The third-party copy master may subsequently issue a MODE SELECT command to
  2766.   modify the mode parameters.
  2767.  
  2768. 8.2.12.4. Superseding Reservations (Mandatory)
  2769.   An initiator that holds a current reservation (unit or extent) may modify
  2770. that reservation by issuing another RESERVE command (unit or extent) to the
  2771. same logical unit.  The superseding RESERVE command shall release the previous
  2772. reservation state (unit or extent) when the new reservation request is
  2773. granted.  If the superseding reservation is for an extent reservation and the
  2774. current reservation is also an extent reservation, the current extent
  2775. reservation identification value is used for the superseding reservation.  The
  2776. current reservation shall not be modified if the superseding reservation
  2777. request cannot be granted.  If the superseding reservation cannot be granted
  2778. because of conflicts with a previous reservation (other than the reservation
  2779. being superseded), then the target shall return RESERVATION CONFLICT status.
  2780.  
  2781.   IMPLEMENTORS NOTE:  Superseding reservations allow the SCSI device ID to be
  2782.   changed on a reservation using the third-party reservation option.  This
  2783.   capability is necessary for certain situations when using COMPARE, COPY, and
  2784.   COPY AND VERIFY commands.
  2785.  
  2786. 9. Sequential-Access Devices.
  2787.  
  2788. 9.2. Commands for Sequential-Access Devices.
  2789.  
  2790.   The commands for Sequential-access devices shall be as shown in Table 9-1.
  2791.  
  2792.               Table 9-1: Commands for Sequential-Access Devices
  2793. ==============================================================================
  2794.                                             Operation
  2795.  Command Name                                 Code      Type         Section
  2796. ------------------------------------------------------------------------------
  2797.  CHANGE DEFINITION                             40h       O           7.2.1
  2798.  COMPARE                                       39h       O           7.2.2
  2799.  COPY                                          18h       O           7.2.3
  2800.  COPY AND VERIFY                               3Ah       O           7.2.4
  2801.  ERASE                                         19h       M           9.2.1
  2802.  INQUIRY                                       12h       M           7.2.5
  2803.  LOAD UNLOAD                                   1Bh       O           9.2.2
  2804.  LOCATE                                        2Bh       O           9.2.3
  2805.  LOG SELECT                                    4Ch       O           7.2.6
  2806.  LOG SENSE                                     4Dh       O           7.2.7
  2807.  MODE SELECT(6)                                15h       M           7.2.8
  2808.  MODE SELECT(10)                               55h       O           7.2.9
  2809.  MODE SENSE(6)                                 1Ah       M           7.2.10
  2810.  MODE SENSE(10)                                5Ah       O           7.2.11
  2811.  PREVENT/ALLOW MEDIUM REMOVAL                  1Eh       O           8.2.4
  2812.  READ                                          08h       M           9.2.4
  2813.  READ BLOCK LIMITS                             05h       M           9.2.5
  2814.  READ BUFFER                                   3Ch       O           7.2.12
  2815.  READ POSITION                                 34h       O           9.2.6
  2816.  READ REVERSE                                  0Fh       O           9.2.7
  2817.  RECEIVE DIAGNOSTIC RESULTS                    1Ch       O           7.2.13
  2818.  RECOVER BUFFERED DATA                         14h       O           9.2.8
  2819.  RELEASE UNIT (6)                              17h       M           9.2.9
  2820.  RELEASE UNIT (10)                             57h       MP          9.2.9
  2821.  REQUEST SENSE                                 03h       M           7.2.14
  2822.  RESERVE UNIT (6)                              16h       M           9.2.10
  2823.  RESERVE UNIT (10)                             56h       MP          9.2.10
  2824.  REWIND                                        01h       M           9.2.11
  2825.  SEND DIAGNOSTIC                               1Dh       M           7.2.15
  2826.  SPACE                                         11h       M           9.2.12
  2827.  TEST UNIT READY                               00h       M           7.2.16
  2828.  VERIFY                                        13h       O           9.2.13
  2829.  WRITE                                         0Ah       M           9.2.14
  2830.  WRITE BUFFER                                  3Bh       O           7.2.17
  2831.  WRITE FILEMARKS                               10H       M           9.2.15
  2832. ==============================================================================
  2833.  
  2834.    Key: M  =  Command implementation is mandatory.
  2835.         MP =  Command implementation is mandatory on any device that addresses
  2836.               more than 8 devices.
  2837.         O  =  Command implementation is optional.
  2838.  
  2839.              The following operation codes are vendor-specific:  02h,
  2840.          06h, 07h, 09h, 0Ch, 0Dh, 0Eh.  All other command codes for
  2841.          sequential-access devices are reserved for future standardization.
  2842.  
  2843. 9.2.9. RELEASE UNIT(6) and RELEASE UNIT(10) Commands
  2844.  
  2845.  
  2846.                        Table 9-12: RELEASE UNIT(6) Command
  2847.  
  2848. ==============================================================================
  2849.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  2850. Byte |        |        |        |        |        |        |        |        |
  2851. ==============================================================================
  2852.  0   |                           Operation Code (17h)                        |
  2853. -----+-----------------------------------------------------------------------|
  2854.  1   | Logical Unit Number      | 3rdPty | Third Party Device ID    |Reserved|
  2855. -----+-----------------------------------------------------------------------|
  2856.  2   |                           Reserved                                    |
  2857. -----+-----------------------------------------------------------------------|
  2858.  3   |                           Reserved                                    |
  2859. -----+-----------------------------------------------------------------------|
  2860.  4   |                           Reserved                                    |
  2861. -----+-----------------------------------------------------------------------|
  2862.  5   |                           Control                                     |
  2863. ==============================================================================
  2864.  
  2865.  
  2866.                          Table 9-new1: RELEASE(10) Command
  2867.  
  2868. ==============================================================================
  2869.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  2870. Byte |        |        |        |        |        |        |        |        |
  2871. ==============================================================================
  2872.  0   |                           Operation Code (57h)                        |
  2873. -----+-----------------------------------------------------------------------|
  2874.  1   | Logical Unit Number      | 3rdPty |              Reserved             |
  2875. -----+-----------------------------------------------------------------------|
  2876.  2   |                           Reserved                                    |
  2877. -----+-----------------------------------------------------------------------|
  2878.  3   |                           Third Party Device ID                       |
  2879. -----+-----------------------------------------------------------------------|
  2880.  4   |                           Reserved                                    |
  2881. -----+-----------------------------------------------------------------------|
  2882.  5   |                           Reserved                                    |
  2883. -----+-----------------------------------------------------------------------|
  2884.  6   |                           Reserved                                    |
  2885. -----+-----------------------------------------------------------------------|
  2886.  7   |                           Reserved                                    |
  2887. -----+-----------------------------------------------------------------------|
  2888.  8   |                           Reserved                                    |
  2889. -----+-----------------------------------------------------------------------|
  2890.  9   |                           Control Byte                                |
  2891. ==============================================================================
  2892.  
  2893.  
  2894.   The RESERVE UNIT and RELEASE UNIT commands provide the basic mechanism for
  2895. contention resolution in multiple-initiator systems.  The RELEASE UNIT command
  2896. (Table 9-12) is used to release previously reserved logical units for the
  2897. requesting initiator, or if it is a third-party release, to another specified
  2898. SCSI device.
  2899.  
  2900.   If a valid reservation exists for the I_T_L nexus, the target shall release
  2901. the reservation and return GOOD status.
  2902.  
  2903.   It is not an error to attempt to release a reservation that is not currently
  2904. valid.  In this case, the target shall return GOOD status without altering any
  2905. other reservation.
  2906.  
  2907. 9.2.9.1. Third-Party Release 
  2908.   Third-party release allows an initiator to release a logical unit that was
  2909. previously reserved using a third-party reservation (see 9.2.10.1).
  2910.  
  2911.   If the third party (3rdPty) bit is zero, then a third-party release is not
  2912. requested.  If the 3rdPty bit is one, and if the reservation was made using a
  2913. third-party reservation by the initiator that is requesting the release for
  2914. the same SCSI device as specified in the third-party device ID, then the
  2915. target shall release the reservation.
  2916.  
  2917.   If the 3rdPty bit is one, the target shall not modify the mode parameters
  2918. for commands received from the third-party device even if the target
  2919. implements the transfer of mode parameters with a third-party RESERVE UNIT
  2920. command.
  2921.  
  2922.   IMPLEMENTORS NOTE:  When a target implements independent storage of mode
  2923.   parameters for each initiator, a third-party RESERVE UNIT command effects a
  2924.   transfer of the current mode parameters.  Those set up by the initiator of
  2925.   the RESERVE UNIT are to be set as the mode parameters used for commands from
  2926.   the third-party device (usually a copy master device).  A unit attention
  2927.   condition notifies the third-party device of the changed mode parameters.  A
  2928.   successful third-party RELEASE UNIT command leaves the transferred
  2929.   parameters intact.  The third-party device can issue MODE SENSE and MODE
  2930.   SELECT commands to query and modify the mode parameters.
  2931.  
  2932.  
  2933. 9.2.10. RESERVE UNIT(6) and RESERVE UNIT(10) Commands
  2934.  
  2935.  
  2936.                        Table 9-13: RESERVE UNIT(6) Command
  2937.  
  2938. ==============================================================================
  2939.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  2940. Byte |        |        |        |        |        |        |        |        |
  2941. ==============================================================================
  2942.  0   |                           Operation Code (16h)                        |
  2943. -----+-----------------------------------------------------------------------|
  2944.  1   | Logical Unit Number      | 3rdPty | Third Party Device ID    |Reserved|
  2945. -----+-----------------------------------------------------------------------|
  2946.  2   |                           Reserved                                    |
  2947. -----+-----------------------------------------------------------------------|
  2948.  3   |                           Reserved                                    |
  2949. -----+-----------------------------------------------------------------------|
  2950.  4   |                           Reserved                                    |
  2951. -----+-----------------------------------------------------------------------|
  2952.  5   |                           Control                                     |
  2953. ==============================================================================
  2954.  
  2955.  
  2956.                          Table 9-new2: RESERVE(10) Command
  2957.  
  2958. ==============================================================================
  2959.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  2960. Byte |        |        |        |        |        |        |        |        |
  2961. ==============================================================================
  2962.  0   |                           Operation Code (16h)                        |
  2963. -----+-----------------------------------------------------------------------|
  2964.  1   | Logical Unit Number      | 3rdPty |              Reserved             |
  2965. -----+-----------------------------------------------------------------------|
  2966.  2   |                           Reserved                                    |
  2967. -----+-----------------------------------------------------------------------|
  2968.  3   |                           Third Party Device ID                       |
  2969. -----+-----------------------------------------------------------------------|
  2970.  4   |                           Reserved                                    |
  2971. -----+-----------------------------------------------------------------------|
  2972.  5   |                           Reserved                                    |
  2973. -----+-----------------------------------------------------------------------|
  2974.  6   |                           Reserved                                    |
  2975. -----+-----------------------------------------------------------------------|
  2976.  7   | (MSB)                                                                 |
  2977. -----+---                        Extent List Length                       ---|
  2978.  8   |                                                                 (LSB) |
  2979. -----+-----------------------------------------------------------------------|
  2980.  9   |                           Control Byte                                |
  2981. ==============================================================================
  2982.  
  2983.  
  2984.   The RESERVE UNIT and RELEASE UNIT commands provide the basic mechanism for
  2985. contention resolution in multiple-initiator systems.  The RESERVE UNIT command
  2986. (Table 9-13) is used to reserve logical units for the exclusive use of the
  2987. requesting initiator, or if it is a third-party reservation, to another
  2988. specified SCSI device.
  2989.  
  2990.   This command requests that the entire logical unit be reserved for the
  2991. exclusive use of the initiator until the reservation is superseded by another
  2992. valid RESERVE UNIT command from the initiator that made the reservation or
  2993. until released by a RELEASE UNIT command from the same initiator that made the
  2994. reservation, by a BUS DEVICE RESET message from any initiator, by a hard reset
  2995. condition, or by a power on cycle.  The reservation shall not be granted if
  2996. the logical unit is reserved by another initiator.  It shall be permissible
  2997. for an initiator to reserve a logical unit that is currently reserved by that
  2998. initiator.
  2999.  
  3000.   If the logical unit is reserved for another initiator, the target shall
  3001. return RESERVATION CONFLICT status.
  3002.  
  3003.   If, after honoring the reservation, any other initiator attempts to perform
  3004. any command on the reserved logical unit other than an INQUIRY command, a
  3005. REQUEST SENSE command, or a RELEASE UNIT command, which shall be ignored, then
  3006. the command shall be rejected with RESERVATION CONFLICT status.
  3007.  
  3008.  
  3009. 9.2.10.1. Third-Party Reservation
  3010.   Third-party reservation allows an initiator to reserve a logical unit for
  3011. another SCSI device.  This is intended for use in multiple-initiator systems
  3012. that use the COPY command.
  3013.  
  3014.   If the third-party (3rdPty) bit is zero, a third-party reservation is not
  3015. requested.  If the 3rdPty bit is one the target shall reserve the logical unit
  3016. for the SCSI device specified in the third-party device ID field. The target
  3017. shall preserve the reservation until it is superseded by another valid RESERVE
  3018. UNIT command from the initiator that made the reservation or until it is
  3019. released by the same initiator, by a BUS DEVICE RESET message from any
  3020. initiator, or a hard reset condition.  The target shall ignore any attempt to
  3021. release the reservation made by any other initiator.
  3022.  
  3023.   If independent sets of parameters are implemented, a third party reservation
  3024. shall cause the target to transfer the set of parameters in effect for the
  3025. initiator of the RESERVE command to the parameters used for commands from the
  3026. third party device.  Any subsequent command issued by the third-party device
  3027. is executed according to the mode parameters in effect for the initiator
  3028. that sent the RESERVE command.
  3029.  
  3030.   If independent sets of parameters are implemented, a third party reservation
  3031. shall cause the target to transfer the set of parameters in effect for the
  3032. initiator of the RESERVE command to the parameters used for commands from the
  3033. third party device.  Any subsequent command issued by the third-party device
  3034. is executed according to the mode parameters in effect for the initiator
  3035. that sent the RESERVE command.
  3036.  
  3037.   IMPLEMENTORS NOTE:  This transfer of the mode parameters is applicable to
  3038.   target devices which store mode information independently for different
  3039.   initiators.  This mechanism allows an initiator to set the mode parameters
  3040.   of a target for the use of a copy master (i.e., the third-party device).
  3041.   The third-party copy master may subsequently issue a MODE SELECT command to
  3042.   modify the mode parameters.
  3043.  
  3044. 9.2.10.2. Superseding Reservations
  3045.   An initiator that currently has a logical unit reserved may modify the
  3046. current reservation by issuing another RESERVE UNIT command to the same
  3047. logical unit.  The superseding reservation shall release the current
  3048. reservation if the superseding reservation request is granted.  The current
  3049. reservation shall not be modified if the superseding reservation request
  3050. cannot be granted.  If the superseding reservation cannot be granted because
  3051. of conflicts with a previous reservation (other than the current reservation),
  3052. then the target shall return RESERVATION CONFLICT status.
  3053.  
  3054.   IMPLEMENTORS NOTE:  Superseding reservations allow the SCSI device ID to be
  3055.   changed on a reservation using the third-party reservation option.  This
  3056.   capability is necessary for certain situations when using COMPARE, COPY, and
  3057.   COPY AND VERIFY commands.
  3058.  
  3059. 10. Commands for Printer Devices
  3060.  
  3061. 10.2. Commands for Printer Devices
  3062.  
  3063.  
  3064.   The commands for printer devices shall be as shown in Table 10-1.
  3065.  
  3066.                    Table 10-1: Commands for Printer Devices
  3067.  
  3068. ==============================================================================
  3069.                                 Operation
  3070. Command Name                       Code   Type    Section  Page
  3071. ------------------------------------------------------------------------------
  3072. CHANGE DEFINITION                  40h      O      7.2.1
  3073. COMPARE                            39h      O      7.2.2
  3074. COPY                               18h      O      7.2.3
  3075. COPY AND VERIFY                    3Ah      O      7.2.4
  3076. FORMAT                             04h      O     10.2.1
  3077. INQUIRY                            12h      M      7.2.5
  3078. LOG SELECT                         4Ch      O      7.2.6
  3079. LOG SENSE                          4Dh      O      7.2.7
  3080. MODE SELECT(6)                     15h      O      7.2.8
  3081. MODE SELECT(10)                    55h      O      7.2.9
  3082. MODE SENSE(6)                      1Ah      O      7.2.10
  3083. MODE SENSE(10)                     5Ah      O      7.2.11
  3084. PRINT                              0Ah      M     10.2.2
  3085. READ BUFFER                        3Ch      O      7.2.12
  3086. RECEIVE DIAGNOSTIC RESULTS         1Ch      O      7.2.13
  3087. RECOVER BUFFERED DATA              14h      O     10.2.3
  3088. RELEASE UNIT (6)                   17h      M      9.2.9
  3089. RELEASE UNIT (10)                  57h      MP     9.2.9
  3090. REQUEST SENSE                      03h      M      7.2.14
  3091. RESERVE UNIT (6)                   16h      M      9.2.10
  3092. RESERVE UNIT (10)                  56h      MP     9.2.10
  3093. SEND DIAGNOSTIC                    1Dh      M      7.2.15
  3094. SLEW AND PRINT                     0Bh      O     10.2.4
  3095. STOP PRINT                         1Bh      O     10.2.5
  3096. SYNCHRONIZE BUFFER                 10h      O     10.2.6
  3097. TEST UNIT READY                    00h      M      7.2.16
  3098. WRITE BUFFER                       3Bh      O      7.2.17
  3099. ==============================================================================
  3100.  
  3101.   Key: M  =  Command implementation is mandatory.
  3102.        MP =  Command implementation is mandatory on any device that addresses
  3103.              more than 8 devices.
  3104.        O  =  Command implementation is optional.
  3105.  
  3106.   The following operation codes are vendor specific: 01h, 02h, 05h, 06h, 07h,
  3107. 08h, 09h, 0Ch, 0Dh, 0Eh, 0Fh, 11h, 13h, 19h, and C0h through FFh.  All
  3108. remaining operation codes for printer devices are reserved for future
  3109. standardization.
  3110.  
  3111. 12. Write-Once Devices
  3112.  
  3113. 12.2. Commands for Write-Once Devices
  3114.  
  3115.   The commands for write-once devices shall be as shown in Table 12-1 and
  3116. Table 12-2.
  3117.  
  3118.                 Table 12-1: Commands for Write-Once Devices(1)
  3119.  
  3120. ==============================================================================
  3121. Command Name                       Code    Type    Section
  3122. ------------------------------------------------------------------------------
  3123. CHANGE DEFINITION                  40h       O     7.2.1
  3124. COMPARE                            39h       O     7.2.2
  3125. COPY                               18h       O     7.2.3
  3126. COPY AND VERIFY                    3Ah       O     7.2.4
  3127. INQUIRY                            12h       M     7.2.5
  3128. LOCK UNLOCK CACHE                  36h       O     8.2.2
  3129. LOG SELECT                         4Ch       O     7.2.6
  3130. LOG SENSE                          4Dh       O     7.2.7
  3131. MEDIUM SCAN                        38h       O    15.2.3
  3132. MODE SELECT(6)                     15h       O     7.2.8
  3133. MODE SELECT(10)                    55h       O     7.2.9
  3134. MODE SENSE(6)                      1Ah       O     7.2.10
  3135. MODE SENSE(10)                     5Ah       O     7.2.11
  3136. PRE-FETCH                          34h       O     8.2.3
  3137. PREVENT ALLOW MEDIUM REMOVAL       1Eh       O     8.2.4
  3138. READ(6)                            08h       O     8.2.5
  3139. READ(10)                           28h       M     8.2.6
  3140. READ(12)                           A8h       O    15.2.4
  3141. READ BUFFER                        3Ch       O     7.2.12
  3142. READ CAPACITY                      25h       M     8.2.7
  3143. READ LONG                          3Eh       O     8.2.9
  3144. REASSIGN BLOCKS                    07h       O     8.2.10
  3145. RECEIVE DIAGNOSTIC RESULTS         1Ch       O     7.2.13
  3146. RELEASE (6)                        17h       M     8.2.11
  3147. RELEASE (10)                       57h       MP    8.2.11
  3148. REQUEST SENSE                      03h       M     7.2.14
  3149. RESERVE (6)                        16h       M     8.2.12
  3150. RESERVE (10)                       56h       MP    8.2.12
  3151. REZERO UNIT                        01h       O     8.2.13
  3152. ==============================================================================
  3153.  
  3154.                 Table 12-2: Commands for Write-Once Devices(2)
  3155.  
  3156. ==============================================================================
  3157. Command Name                       Code    Type    Section
  3158. ------------------------------------------------------------------------------
  3159. SEARCH DATA EQUAL(10)              31h       O     8.2.14.1
  3160. SEARCH DATA EQUAL(12)              B1h       O    15.2.8
  3161. SEARCH DATA HIGH(10)               30h       O     8.2.14.2
  3162. SEARCH DATA HIGH(12)               B0h       O    15.2.8
  3163. SEARCH DATA LOW(10)                32h       O     8.2.14.3
  3164. SEARCH DATA LOW(12)                B2h       O    15.2.8
  3165. SEEK(6)                            0Bh       O     8.2.15
  3166. SEEK(10)                           2Bh       O     8.2.15
  3167. SEND DIAGNOSTIC                    1Dh       M     7.2.15
  3168. SET LIMITS(10)                     33h       O     8.2.16
  3169. SET LIMITS(12)                     B3h       O    15.2.9
  3170. START STOP UNIT                    1Bh       O     8.2.17
  3171. SYNCHRONIZE CACHE                  35h       O     8.2.18
  3172. TEST UNIT READY                    00h       M     7.2.16
  3173. VERIFY(10)                         2Fh       O    15.2.11
  3174. VERIFY(12)                         AFh       O    15.2.12
  3175. WRITE(6)                           0Ah       O     8.2.20
  3176. WRITE(10)                          2Ah       M     8.2.21
  3177. WRITE(12)                          AAh       O    15.2.14
  3178. WRITE AND VERIFY(10)               2Eh       O     8.2.22
  3179. WRITE AND VERIFY(12)               AEh       O    15.2.16
  3180. WRITE BUFFER                       3Bh       O     7.2.17
  3181. WRITE LONG                         3Fh       O     8.2.23
  3182. ==============================================================================
  3183.  
  3184.     Key: M  =  Command implementation is mandatory.
  3185.          MP =  Command implementation is mandatory on any device that addresses
  3186.                more than 8 devices.
  3187.          O  =  Command implementation is optional.
  3188.  
  3189.   The following command codes are vendor specific:  02h, 05h, 06h, 09h, 0Ch,
  3190. 0Dh, 0Eh, 0Fh, 10h, 11h, 13h, 14h, 19h, 20h, 21h, 22h, 23h, 24h, 26h, 27h,
  3191. 29h, and C0h through FFh.  All remaining command codes for write-once devices
  3192. are reserved for future standardization.
  3193.  
  3194.  
  3195. 13. CD-ROM Devices
  3196.  
  3197. 13.2. Commands for CD-ROM Devices
  3198.  
  3199.   The commands for CD-ROM devices shall be as shown in Table 13-3, and 13-4.
  3200.  
  3201.                   Table 13-3: Commands for CD-ROM Devices(1)
  3202.  
  3203. ==============================================================================
  3204.                                 Operation
  3205. Command Name                       Code   Type    Section
  3206. ------------------------------------------------------------------------------
  3207. CHANGE DEFINITION                  40h      O      7.2.1
  3208. COMPARE                            39h      O      7.2.2
  3209. COPY                               18h      O      7.2.3
  3210. COPY AND VERIFY                    3Ah      O      7.2.4
  3211. INQUIRY                            12h      M      7.2.5
  3212. LOCK/UNLOCK CACHE                  36h      O      8.2.2
  3213. LOG SELECT                         4Ch      O      7.2.6
  3214. LOG SENSE                          4Dh      O      7.2.7
  3215. MODE SELECT(6)                     15h      O      7.2.8
  3216. MODE SELECT(10)                    55h      O      7.2.9
  3217. MODE SENSE(6)                      1Ah      O      7.2.10
  3218. MODE SENSE(10)                     5Ah      O      7.2.11
  3219. PAUSE/RESUME                       4Bh      O     13.2.1
  3220. PLAY AUDIO(10)                     45h      O*    13.2.2
  3221. PLAY AUDIO(12)                     A5h      O*    13.2.3
  3222. PLAY AUDIO MSF                     47h      O*    13.2.4
  3223. PLAY AUDIO TRACK/INDEX             48h      O*    13.2.5
  3224. PLAY TRACK RELATIVE(10)            49h      O*    13.2.6
  3225. PLAY TRACK RELATIVE(12)            A9h      O*    13.2.7
  3226. PRE-FETCH                          34h      O      8.2.3
  3227. PREVENT/ALLOW MEDIUM REMOVAL       1Eh      O      8.2.4
  3228. READ(6)                            08h      O      8.2.5
  3229. READ(10)                           28h      M      8.2.6
  3230. READ(12)                           A8h      O     15.2.4
  3231. READ BUFFER                        3Ch      O      7.2.12
  3232. READ CD-ROM CAPACITY               25h      M     13.2.8
  3233. READ HEADER                        44h      O     13.2.9
  3234. READ LONG                          3Eh      O      8.2.9
  3235. READ SUB-CHANNEL                   42h      O     13.2.10
  3236. READ TOC                           43h      O     13.2.11
  3237. RECEIVE DIAGNOSTIC RESULTS         1Ch      O      7.2.13
  3238. RELEASE (6)                        17h      M      8.2.11
  3239. RELEASE (10)                       57h      MP     8.2.11
  3240. REQUEST SENSE                      03h      M      7.2.14
  3241. RESERVE (6)                        16h      M      8.2.12
  3242. RESERVE (10)                       56h      MP     8.2.12
  3243. REZERO UNIT                        01h      O      8.2.13
  3244. ==============================================================================
  3245.  
  3246.   Key: M  =  Command implementation is mandatory.
  3247.        MP =  Command implementation is mandatory on any device that addresses
  3248.              more than 8 devices.
  3249.        O  =  Command implementation is optional.
  3250.        *  =  If any of the PLAY AUDIO commands (as indicated by an * in the
  3251.            'Type' column in Table 13-3) are implemented, the PLAY AUDIO
  3252.            command shall be implemented by the target.
  3253.  
  3254.                   Table 13-4: Commands for CD-ROM Devices(2)
  3255.  
  3256. ==============================================================================
  3257.                                 Operation
  3258. Command Name                       Code   Type    Section
  3259. ------------------------------------------------------------------------------
  3260. SEARCH DATA EQUAL(10)              31h      O      8.2.14.1
  3261. SEARCH DATA EQUAL(12)              B1h      O     15.2.8
  3262. SEARCH DATA HIGH(10)               30h      O      8.2.14.2
  3263. SEARCH DATA HIGH(12)               B0h      O     15.2.8
  3264. SEARCH DATA LOW(10)                32h      O      8.2.14.3
  3265. SEARCH DATA LOW(12)                B2h      O     15.2.8
  3266. SEEK(6)                            0Bh      O      8.2.15
  3267. SEEK(10)                           2Bh      O      8.2.15
  3268. SEND DIAGNOSTIC                    1Dh      M      7.2.15
  3269. SET LIMITS(10)                     33h      O      8.2.16
  3270. SET LIMITS(12)                     B3h      O     15.2.9
  3271. START STOP UNIT                    1Bh      O      8.2.17
  3272. SYNCHRONIZE CACHE                  35h      O      8.2.18
  3273. TEST UNIT READY                    00h      M      7.2.16
  3274. VERIFY(10)                         2Fh      O     15.2.11
  3275. VERIFY(12)                         AFh      O     15.2.12
  3276. WRITE BUFFER                       3Bh      O      7.2.17
  3277. ==============================================================================
  3278.  
  3279.   Key: M  =  Command implementation is mandatory.
  3280.        MP =  Command implementation is mandatory on any device that addresses
  3281.              more than 8 devices.
  3282.        O  =  Command implementation is optional.
  3283.  
  3284.  
  3285.   The following command codes are vendor specific:  02h, 05h, 06h, 09h, 0Ch,
  3286. 0Dh, 0Eh, 0Fh, 10h, 11h, 13h, 14h, 19h, 20h, 21h, 22h, 23h, 24h, 26h, 27h,
  3287. 29h, and C0h through FFh.  All remaining command codes for CD-ROM devices are
  3288. reserved for future standardization.
  3289.  
  3290. 14. Scanner Devices
  3291.  
  3292. 14.2. Commands for Scanner Devices
  3293.  
  3294.   The commands for scanner devices shall be as shown in Table 14-1.
  3295.  
  3296.                    Table 14-1: Commands for Scanner Devices
  3297.  
  3298. ==============================================================================
  3299.                                 Operation
  3300. Command Name                       Code   Type    Section     Page
  3301. ------------------------------------------------------------------------------
  3302. CHANGE DEFINITION                  40h      O      7.2.1
  3303. COMPARE                            39h      O      7.2.2
  3304. COPY                               18h      O      7.2.3
  3305. COPY AND VERIFY                    3Ah      O      7.2.4
  3306. GET DATA BUFFER STATUS             34h      O     14.2.1
  3307. GET WINDOW                         25h      O     14.2.2
  3308. INQUIRY                            12h      M      7.2.5
  3309. LOG SELECT                         4Ch      O      7.2.6
  3310. LOG SENSE                          4Dh      O      7.2.7
  3311. MODE SELECT(6)                     15h      O      7.2.8
  3312. MODE SELECT(10)                    55h      O      7.2.9
  3313. MODE SENSE(6)                      1Ah      O      7.2.10
  3314. MODE SENSE(10)                     5Ah      O      7.2.11
  3315. OBJECT POSITION                    31h      O     14.2.3
  3316. READ                               28h      M     14.2.4
  3317. READ BUFFER                        3Ch      O      7.2.12
  3318. RECEIVE DIAGNOSTIC RESULTS         1Ch      O      7.2.13
  3319. RELEASE UNIT (6)                   17h      M      9.2.9
  3320. RELEASE UNIT (10)                  57h      MP     9.2.9
  3321. REQUEST SENSE                      03h      M      7.2.14
  3322. RESERVE UNIT (6)                   16h      M      9.2.10
  3323. RESERVE UNIT (10)                  56h      MP     9.2.10
  3324. SCAN                               1Bh      O     14.2.5
  3325. SET WINDOW                         24h      M     14.2.6
  3326. SEND                               2Ah      O     14.2.7
  3327. SEND DIAGNOSTIC                    1Dh      M      7.2.15
  3328. TEST UNIT READY                    00h      M      7.2.16
  3329. WRITE BUFFER                       3Bh      O      7.2.17
  3330. ==============================================================================
  3331.  
  3332.  
  3333.   Key: M  =  Command implementation is mandatory.
  3334.        MP =  Command implementation is mandatory on any device that addresses
  3335.              more than 8 devices.
  3336.        O  =  Command implementation is optional.
  3337.  
  3338.   All other operation codes for scanner devices are  reserved for future
  3339. standardization.
  3340.  
  3341. 15. Optical Memory Devices
  3342.  
  3343. 15.2. Commands for Optical Memory Devices
  3344.  
  3345.   The commands for optical memory devices shall be as shown in Table 15-1 and
  3346. 15-2.
  3347.  
  3348.               Table 15-1: Commands for Optical Memory Devices(1)
  3349.  
  3350. ==============================================================================
  3351.                                 Operation
  3352. Command Name                       Code   Type    Section     Page
  3353. ------------------------------------------------------------------------------
  3354. CHANGE DEFINITION                  40h      O      7.2.1
  3355. COMPARE                            39h      O      7.2.2
  3356. COPY                               18h      O      7.2.3
  3357. COPY AND VERIFY                    3Ah      O      7.2.4
  3358. ERASE(10)                          2Ch      O     15.2.1
  3359. ERASE(12)                          ACh      O     15.2.2
  3360. FORMAT UNIT                        04h      O      8.2.1
  3361. INQUIRY                            12h      M      7.2.5
  3362. LOCK UNLOCK CACHE                  36h      O      8.2.2
  3363. LOG SELECT                         4Ch      O      7.2.6
  3364. LOG SENSE                          4Dh      O      7.2.7
  3365. MEDIUM SCAN                        38h      O     15.2.3
  3366. MODE SELECT(6)                     15h      O      7.2.8
  3367. MODE SELECT(10)                    55h      O      7.2.9
  3368. MODE SENSE(6)                      1Ah      O      7.2.10
  3369. MODE SENSE(10)                     5Ah      O      7.2.11
  3370. PRE-FETCH                          34h      O      8.2.3
  3371. PREVENT ALLOW MEDIUM REMOVAL       1Eh      O      8.2.4
  3372. READ(6)                            08h      O      8.2.5
  3373. READ(10)                           28h      M      8.2.6
  3374. READ(12)                           A8h      O     15.2.4
  3375. READ BUFFER                        3Ch      O      7.2.12
  3376. READ CAPACITY                      25h      M      8.2.7
  3377. READ DEFECT DATA(10)               37h      O      8.2.8
  3378. READ DEFECT DATA(12)               B7h      O     15.2.5
  3379. READ GENERATION                    29h      O     15.2.6
  3380. READ LONG                          3Eh      O      8.2.9
  3381. READ UPDATED BLOCK                 2Dh      O     15.2.7
  3382. REASSIGN BLOCKS                    07h      O      8.2.10
  3383. RECEIVE DIAGNOSTIC RESULTS         1Ch      O      7.2.13
  3384. RELEASE (6)                        17h      M      8.2.11
  3385. RELEASE (10)                       57h      MP     8.2.11
  3386. REQUEST SENSE                      03h      M      7.2.14
  3387. RESERVE (6)                        16h      MP     8.2.12
  3388. RESERVE (10)                       56h      M      8.2.12
  3389. REZERO UNIT                        01h      O      8.2.13
  3390. =============================================================================
  3391.  
  3392.               Table 15-2: Commands for Optical Memory Devices(2) 
  3393.  
  3394. ==============================================================================
  3395.                                 Operation
  3396. Command Name                       Code   Type    Section     Page
  3397. ------------------------------------------------------------------------------
  3398. SEARCH DATA EQUAL(10)              31h      O      8.2.14.1
  3399. SEARCH DATA EQUAL(12)              B1h      O     15.2.8
  3400. SEARCH DATA HIGH(10)               30h      O      8.2.14.2
  3401. SEARCH DATA HIGH(12)               B0h      O     15.2.8
  3402. SEARCH DATA LOW(10)                32h      O      8.2.14.3
  3403. SEARCH DATA LOW(12)                B2h      O     15.2.8
  3404. SEEK(6)                            0Bh      O      8.2.15
  3405. SEEK(10)                           2Bh      O      8.2.15
  3406. SEND DIAGNOSTIC                    1Dh      M      7.2.15
  3407. SET LIMITS(10)                     33h      O      8.2.16
  3408. SET LIMITS(12)                     B3h      O     15.2.9
  3409. START STOP UNIT                    1Bh      O      8.2.17
  3410. SYNCHRONIZE CACHE                  35h      O      8.2.18
  3411. TEST UNIT READY                    00h      M      7.2.16
  3412. UPDATE BLOCK                       3Dh      O     15.2.10
  3413. VERIFY(10)                         2Fh      O     15.2.11
  3414. VERIFY(12)                         AFh      O     15.2.12
  3415. WRITE(6)                           0Ah      O      8.2.20
  3416. WRITE(10)                          2Ah      M     15.2.13
  3417. WRITE(12)                          AAh      O     15.2.14
  3418. WRITE AND VERIFY(10)               2Eh      O     15.2.15
  3419. WRITE AND VERIFY(12)               AEh      O     15.2.16
  3420. WRITE BUFFER                       3Bh      O      7.2.17
  3421. WRITE LONG                         3Fh      O      8.2.23
  3422. =============================================================================
  3423.  
  3424.   Key: M  =  Command implementation is mandatory.
  3425.        MP =  Command implementation is mandatory on any device that addresses
  3426.              more than 8 devices.
  3427.        O  =  Command implementation is optional.
  3428.  
  3429.   The following codes are vendor specific: 20h, 21h, 22h, 23h, and C0h through
  3430. FFh.  All remaining codes for optical memory devices are reserved for future
  3431. standardization.
  3432.  
  3433. 16. Medium Changer Devices
  3434.  
  3435. 16.2. Commands for Medium Changer Devices
  3436.  
  3437.   The commands for medium changer devices shall be as shown in Table 16-2.
  3438.  
  3439.                Table 16-2: Commands for Medium Changer Devices
  3440.  
  3441. ==============================================================================
  3442.                                 Operation
  3443. Command Name                      Code     Type   Section
  3444. ------------------------------------------------------------------------------
  3445. CHANGE DEFINITION                  40h      O       7.2.1
  3446. EXCHANGE MEDIUM                    A6h      O      16.2.1
  3447. INITIALIZE ELEMENT STATUS          07h      O      16.2.2
  3448. INQUIRY                            12h      M       7.2.5
  3449. LOG SELECT                         4Ch      O       7.2.6
  3450. LOG SENSE                          4Dh      O       7.2.7
  3451. MODE SELECT(6)                     15h      O       7.2.8
  3452. MODE SELECT(10)                    55h      O       7.2.9
  3453. MODE SENSE(6)                      1Ah      O       7.2.10
  3454. MODE SENSE(10)                     5Ah      O       7.2.11
  3455. MOVE MEDIUM                        A5h      M      16.2.3
  3456. POSITION TO ELEMENT                2Bh      O      16.2.4
  3457. PREVENT ALLOW MEDIUM REMOVAL       1Eh      O       8.2.4
  3458. READ BUFFER                        3Ch      O       7.2.12
  3459. READ ELEMENT STATUS                B8h      O      16.2.5
  3460. RECEIVE DIAGNOSTIC RESULTS         1Ch      O       7.2.13
  3461. RELEASE (6)                        17h      O      16.2.6
  3462. RELEASE (10)                       57h      O      16.2.6
  3463. REQUEST VOLUME ELEMENT ADDRESS     B5h      O      16.2.7
  3464. REQUEST SENSE                      03h      M       7.2.14
  3465. RESERVE (6)                        16h      O      16.2.8
  3466. RESERVE (10)                       56h      O      16.2.8
  3467. REZERO UNIT                        01h      O       8.2.13
  3468. SEND DIAGNOSTIC                    1Dh      M       7.2.15
  3469. SEND VOLUME TAG                    B6h      O      16.2.9
  3470. TEST UNIT READY                    00h      M       7.2.16
  3471. WRITE BUFFER                       3Bh      O       7.2.17
  3472. ==============================================================================
  3473.  
  3474.   Key: M  =  Command implementation is mandatory.
  3475.        MP =  Command implementation is mandatory on any device that addresses
  3476.              more than 8 devices.
  3477.        O  =  Command implementation is optional.
  3478.  
  3479.   Operation codes C0h through FFh are vendor specific.  All other operation
  3480. codes are reserved.
  3481.